A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


    //stack()
      
//当调用getString函数的时候,会为string字符串在栈区分配7个字节的内存,当调用函数以后,系统会自动回收内存
      
//所以:***不能以一个栈区的空间作为函数的返回值
   
char string[] = "iPhone";
      
//静态变量
      
//1,只初始化一次(只会开辟一次内存空间)
      
//2,如果没有赋初值,默认为0(静态变量独有的)
      
//3,空间一旦被开辟,就不会释放,直到程序结束
   
static int a = 10;
//    动态内存分配的目的:合理的使用内存(内存是有限的)
//    存储区的划分
//    1,栈区:存储是以栈(先进后出)的结构存储,局部变量(在函数内部定义的变量)和形式参数(函数的参数)存放到栈区,调用函数的时候,为局部变量和形式参数分配内存,调出函数后,系统收回为这个函数分配的内存
//    2,堆区:是由开发人员手动申请,手动释放,需要人工管理
//    3,静态区(全局区):全局变量(定义在函数外部的变量)和静态变量(static修饰的变量),存放在静态区,一旦开辟内存空间,就不会释放,直到程序结束
//    4,常量区:存储:整型常量,字符常量,浮点常量,字符串常量,常量区的内容不能被修改
//    5,代码区:存放CPU指令
//    printf("%s", getString());//无输出,调用之前函数已经被系统回收

   
      


1 个回复

倒序浏览
这个可以学习下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马