(int*)malloc(sizeof(int));语句给指针变量分配一个整型存储空间。
C语言中定义指针变量后,必须给指针变量进行相应的地址分配,,之后才可以使用指针变量,否则就会出现程序异常。
int *p; //定义指针变量p,未初始化
地址分配的方法通常有两种:
(1)
int x = 5;
p = &x; //p指向x所在的位置,要注意x和p的数据类型应相同
(2)
p = (int*)malloc(sizeof(int)); //让系统为p选择一个内存空间。
malloc的原型是
void * malloc(int size); // void*表示函数返回值为任意类型,size是分配的内存单元字节数
当如果不给p分配内存地址,它就会变成“野指针”,进而导致程序崩溃。