头文件:#include
函数原型:void * malloc(size_t size); size:大小的意思
1.整型指针
实例:给一个整形指针变量申请空间:
整形指针变量可以解引用,解引用得到的数据类型是int,4个字节。
第一步:int *p;//野指针
第二步:调用malloc给p申请合法的空间(4个字节)。
p = (int *)malloc(4);
第三步:给合法空间存放上数据。
*p = 12;
free(p);//释放内存空间
2.malloc与字符指针
char * p = (char *)malloc(10*sizeof(char));
//使用sizeof(char)提高系统的移植性,因为系统的char字节
if(p == NULL)
{
printf("malloc failed!\n");
return -1;
}
**用malloc给字符串分配内存后,不能够p =“aslkdf”;
//下面这样是可以的
char *s;
s = "adf";
//p是使用malloc分配内存的
P = “aslkdf”;使用这个赋值会出现段错误的
给int*p 赋值:
循环赋值
sacnf等标准输入函数 ---- scanf("%s",p); 你的数据要放在那个地址上面,就传那个地址
strcpy字符串拷贝 ---- strcpy(p,"helloworld"); 系统自动补\0是什么意思
3.calloc函数
头文件:#include
函数原型:void *calloc(size_t nmemb, size_t size);
返回值:
申请空间成功:返回一个万能指针(万能地址),这个地址指向的是一个连续的合法空间。申请空间失败:NULL或者(void *)0
形参一:nmemb:内存块的个数
形参二:size:每一块的大小
领取专属 10元无门槛券
私享最新 技术干货