黑马程序员技术交流社区
标题:
c语言中动态分配内存(堆内存)
[打印本页]
作者:
王书敏
时间:
2014-7-23 22:11
标题:
c语言中动态分配内存(堆内存)
本帖最后由 王书敏 于 2014-7-24 21:47 编辑
比如要给一个整形数分配存储空间
int *P=malloc(sizeof(int));
1.使用使用完毕需要自己回收内存free(p)
2.在这个没有调用free函数之前必须有一个指针指向这块存储区域,否则这块存储区域就不会释放了,出现内存溢出的情况
作者:
道本真
时间:
2014-7-24 07:55
本帖最后由 道本真 于 2014-7-24 07:56 编辑
void changeChar(char *p, int lenth)
{ char *head = p;//记录首地址;
char *end = p + lenth - 1;//最后字符地址;
while( head<= end--) /* 错在这里,head++ 虽然这行不会变,可这行过后head就+1了,也就跑到第2个位置与后面的y交换了,所以要把head移到后面*/ {
char temp = *head;
*head = *end;
*end = temp;
head++; //在转换完后在+1,还有就是要注意sizeof(),与strlen()的区别
}
}
int main( )
{
char name[] = "myname";
int lenth = sizeof(name);
changeChar(name,lenth);
printf("%s\n",name);
return 0;
}
复制代码
希望对你有帮助,不好意思发错地方了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2