首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c语言-malloc分配内存

头文件:#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:每一块的大小

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210322A0548Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券