动态存储的函数的原型为:
void * malloc(unsigned int size);
函数的作用:
系统自动在内存的动态存储区中,分配长度为size的一段连续空间。
若此函数执行成功,则函数返回值为指向被分配域的起始地址的指针(该函数的返回值的基本类型为void)。
若该函数执行失败(如内存空间不足的情况),则函数返回值为空指针(NULL)。
举例:
#include <stdio.h>
#include <stdlib.h>
main()
{
int *a, *b, *c;
a=b=c=(int*)malloc(sizeof(int));
*a=1; *b=2, *c=3;
a=b
printf("%d, %d, %d\n", *a, *b, *c);
}
malloc()函数动态分配了一个整型的内存空间,然后把函数返回的地址用(int*)强制类型转换为整型指针,再把它赋给a, b, c, 即让指针变量a, b, c 都指向刚申请的内存空间。所以只有最后一个赋值语句*c=3的值保留在了该空间内,因为a, b, c三个指针变量均指向该空间,所以最后打印出都是3。
来源:CSDN
作者:chr0610
链接:https://blog.csdn.net/chr0610/article/details/104478038