查看指针和malloc的使用,其中指针初始化之后不是直接进行赋值。例如
int *p;
*p = 0;
此时,指针p并没有被分配地址,这样会存在错误。
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
int main()
{
int *p;
p=(int *)malloc(sizeof(int));
*p=100;
printf("%d",*p);
free(p);
return 0;
}
这里用malloc,malloc的作用是开辟空间并把首地址给p。这时再给p赋值就不会出现问题了。
malloc函数返回的void类型的指针,因此需要进行强制转换。