C/C++知识点之C语言基础10
小标 2018-11-13 来源 : 阅读 962 评论 0

摘要:本文主要向大家介绍了C/C++知识点之C语言基础10,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

本文主要向大家介绍了C/C++知识点之C语言基础10,通过具体的内容向大家展示,希望对大家学习C/C++知识点有所帮助。

栈区间:在函数内部声明的变量都存放在栈区间,比如int char 数组 结构体 指针,只管申请,系统会自动帮我回收,收回的时间是作用域结束之后,遵循的原则是"先进后出",

int a = 10;
const int m =10;
printf("%p\n", &m);
printf("%p\n", &a);
堆区间:在五大区间中占用比例较大的区间,需要手动申请和手动释放,遵循的原则 "先进先出",堆区间空间的开辟是无序的,并且没有名字,所以我们需要一个栈区的指针来指向堆内存的数值。
int *b =malloc(sizeof(int ) *2);
printf("%p\n",b);
free(b);
静态区:存放全局变量或者静态变量,生命周期很长,一般到程序结束才释放,使用static修饰的变量,只初始化一次,默认值为0
static int c= 23;
printf("%p\n", &c);
void test3( ){
  static int a =10; 第一次调用函数就赋初值,后面在调用函数这个语句就不会在允许。
  a++;
  printf("%d\n",a);    //输出10,11,12
}
 test3( );
 test3( );
 test3( );
常量区:我们平时遇到的常量都放到这里比如"myname",‘c‘,87,87.4
printf("%p\n",&"hello world ");
常量区变量不能被修改:
char  *str ="iphone";    //字符指针指向常量区中字符串。
char str1[] ="iphone";    // 将常量区字符串拷贝到栈区的名称为str1的空间中。
str1[0] = ‘I‘;        // 可以修改,编写代码的时候不会报错,但是在编译的时候就会报错。
str[0] = ‘I‘;        //会报错。
所以我们一般这样写:const char *str ="...." 这样写的好处就是在很大的项目中,我们在修改常量区变量的值的时候会报错,可以立即处理,而不是在编译运行之后报错,才从几万行代码中查找错误的源头。
代码区:一般是函数存放在这里,需要编译。
void func( );
void func( ){
  printf(...)‘  
}
printf("%p\n" , func );  //传入函数名称。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言C/C+频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程