C/C++知识点之C语言特殊知识点解析
小标 2018-10-10 来源 : 阅读 1651 评论 0

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

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

1 数组

1.1 概念
  数组是指某种数据类型,在内存上按照顺序存储。中括号([ ])是数组的标识,中括号内的数值标识该种数据类型变量的个数,中括号也有取值的作用。
1.2 数组使用
  int a[10]={1,2,3,4,5,6,7,8,9,0};  --数组的定义  int *p=&a[1];  --a[1],是取数组a在内存1位置的值,&a[1],是取a[1]的地址
  则p[6]等于8  --p[6],是以&a[1]为起始位置,向上取第六位置的值。
1.3 整数数组清零
1.3.1 bzero()
  只能清零。  
1.3.2 memset()
  可以设定为指定的值。但是,只会置每个字节的低位为指定值。例如:  
  int a[5] = {1,2,3,4,5};   memset(a,2,sizeof(a));   for(int i=0; i<5; i++){      printf("%d", a[i]);  --打印的值为:10000000100000001000000010   }
2 存储类关键字
2.1 auto
  只用于具有代码块作用域的变量声明中,修饰局部变量。
2.2 register
  只能是局部变量,并且是CPU可以接受的类型,不能取址。可以大大提高运算效率。
2.3 static
  (1)static修饰全局变量,只初始化一次,防止在其它文件也被使用。
  (2)static修饰局部变量,函数执行完,static变量不会释放。
  (3)static修饰函数,该函数只能在本文件使用。
2.4 extern
  声明某变量或者函数可外部调用。
2.5 const
3 有符号整形和无符号整形的运算
int main(void) {   unsigned int a = 6;   int b = -20;   char c;   (a+b>6)?(c=1):(c=0);
   return 0; }则c=1,但a+b=-14;如果a为int类型则c=0。
   原来有符号数和无符号数进行比较运算时(==,<,>,<=,>=),有符号数隐式转换成了无符号数(即底层的补码不变,但是此数从有符号数变成了无符号数), 比如上面 (a+b)>6这个比较运算,a+b=-14,-14的补码为1111111111110010。此数进行比较运算时,被当成了无符号数,它远远大于6,所以得到上述结果。 
4 原码、反码、补码
  因为有符号的原码的真实值不准确,所以出现反码;因为-0这个特殊的值,所以出现的补码。所以,处理器计算的是补码。

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

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

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

我知道了

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

请输入正确的手机号码

请输入正确的验证码

获取验证码

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

提交

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

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

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

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved