C语言基础知识整理(二)

1 const有哪些作用

   a.定义const常量,具有不可变性。如:

     const int MAX = 100;

   b.进行类型安全检查,使编译器对处理的内容有更多的了解

   c.避免意义模糊的数字出现,同样可以很方便地进行参数调整和修改。

   d.保护被修饰的函数入参,防止被意外地修改,增加程序的健壮性。

   e.提高了程序的效率。编译器通常不为普通const常量分配存储空间,而是将他们保存在符号表中,这将使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率很高。


关于符号表的知识详见

http://www.cnblogs.com/tanhehe/p/3570033.html


2 const修饰指针的几种情况

    a. const int * A ;  //指针常量,const修饰指向的对象,A可变,但A指向的对象不能变

    b. int const * A;  //指针常量,const修饰指向的对象,A可变,但A指向的对象不能变

    c. int * const A; //常量指针,const修饰指针A,A不可变,A指向的对象可变


3 volatile关键字的作用

     在多线程编程时,有时在线程A中,当要读取某个变量时,编译器为了加快访问速度,有时会将该变量放在寄存器中,当下次用的时候直接从寄存器中取,但是这时可能线程B已经将这个变量的值改变了,但是寄存器中的值不能进行相应更新,导致程序读取的值和实际的变量值不一致。

     volatile是一个类型修饰符,它用来修饰被不同线程访问和修改的变量,被volatile修饰的变量,编译器不会对它进行优化,系统每次用到它的时候都是直接从对应的内存中提取,而不会利用cache中的原有数值。

     volatile一般用于修饰多线程间被多个任务共享的变量和并行设备硬件寄存器等。


4 sizeof是数据类型的关键字,而非函数


1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行;、 2项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 、 1资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看READmE.文件(md如有),本项目仅用作交流学习参考,请切勿用于商业用途。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值