用malloc分配完内存后,已经把数据写进去了,如何使用分配的指针,求实例
展开全部
int *p = NULL;
p = (int *)malloc( sizeof (int) ); //malloc动态分配内存, 指针p指向int型
*p = 5; // 把整型数据5写进刚申请好的内存空间地址
// 到这里为止, malloc已经分配完内存并已经把数据写进去了
// 以下是使用分配的指针
实例 1
int a = 0;
a = *p; //通过指针取刚申请内存空间地址存的整数5赋给整型变量a,之后a的值是5
实例 2
*p = 10; //重新给新申请的内存空间赋新值 整数10,之后申请的内存空间存的数据变为整数10
另: 当然指针p也可以指向别的对象, 即可以把别的地址重新赋给指针p, 但在重新赋之前要释放刚才申请的内存,以免泄露。
p = (int *)malloc( sizeof (int) ); //malloc动态分配内存, 指针p指向int型
*p = 5; // 把整型数据5写进刚申请好的内存空间地址
// 到这里为止, malloc已经分配完内存并已经把数据写进去了
// 以下是使用分配的指针
实例 1
int a = 0;
a = *p; //通过指针取刚申请内存空间地址存的整数5赋给整型变量a,之后a的值是5
实例 2
*p = 10; //重新给新申请的内存空间赋新值 整数10,之后申请的内存空间存的数据变为整数10
另: 当然指针p也可以指向别的对象, 即可以把别的地址重新赋给指针p, 但在重新赋之前要释放刚才申请的内存,以免泄露。
展开全部
char *pc = (char*)malloc(3*sizeof(char));//这句话分配内存
*(pc) = 'a';
*(pc+1) = 'b';
*(pc+2) = '\0';
printf("%s",pc);//这里就是使用指针,把指针指向的字符串打印出来。
*(pc) = 'a';
*(pc+1) = 'b';
*(pc+2) = '\0';
printf("%s",pc);//这里就是使用指针,把指针指向的字符串打印出来。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指针就是指的给你所分配的内存的首地址,至于你要怎么用,全凭你的兴趣了,这也是C语言最灵活的地方。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询