首页 > 代码库 > 程序猿之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小)
程序猿之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小)
主要内容:函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小
#include <stdio.h> char * favorite_fruit() { static char fruit[] = "apple"; // 不加static的话这个函数还回的指针以及悬空,因为在函数退出时fruit组数被销毁 // 加了static后fruit数组分配在数据段里,而不是堆栈中,生命期和程序一样长,函数退出时变量 // 依然有效 return fruit; } int main() { char *a = favorite_fruit(); printf("%s\n",a); /* * 查看你的进程能分配多大内存 * 总共分配的内存量取决于系统配置的 */ int MB = 0; while(malloc(1 << 10)) ++KB; printf("Allocated %d KB total\n", KB); return 0; }
输出:
程序猿之---C语言细节22(函数返回指针注意事项<悬空指针>、查看进程可以分配的内存大小)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。