constkeyword

const=read only,修饰的为仅仅读变量而不是常量。const修饰的变量不能用作数组的维数也不能放在switch语句的case:之后。

主要作用有:

1.通过把不希望被改动的变量或參数用const来修饰。编译器会保护这些变量不被改动增强系统的可靠性;
2.增强代码的可读性

  1. const int a;      //a为常量不能被改动
  2. int const a;      //a为常量不能被改动
  3. const int *a;     //a为指向一个常量的指针,a的值是能够变量的
  4. int *const a;     //const修饰a,a为一个指向整型变量的指针常量

定义时必须进行初始化赋值,一经定义不能改动。上述代码1、2、4编译时会报错提示未初始化。

const和volatilekeyword的后面若紧跟类型说明符则作用于类型说明符。在其它情况下。作用于它左边紧邻的指针星号。

                                                                                                                                                                                                                                                                                                                    

typedef 与 define的差别体如今两个方面
1.define能够对定义的宏类型名进行扩展,而typedef不能够
  1. #define peach int
  2. unsigned peach i;//没有问题
  3. typedef int peach;
  4. unsiged peach i;//错误,非法

definekeyword仅仅是简单的字符替换,而typedef能够看成是对类型的一种封装。为现有类型取个新名字。

2在连续几个变量的声明中仅仅有typedef能够保证类型的一致性
  1. #define int_ptr int *;
  2. int_ptr chalk,cheese;
chalk为int *类型。而cheese为int型。由于define仅仅是简单的字符串替换

                                                                                                                                                                                         

typedef的特殊使用方式

用来声明函数指针

  1. typedef void(*ptr_fun) (int);
  2. //ptr_fun是一个函数指针,參数为int型。返回值为void
  3. ptr_fun sinal(int,ptr_fun)
  4. //sinal是一个函数,接受int和ptr_fun两个类型的參数,返回值为ptr_fun

typedef int A[5];

//a是一个指向有5个元素的整型数组的数组指针。A代表的类型是(int)[5] 。也即A b={1,2,3,4,5};

最新文章

  1. Android 如何有效的解决内存泄漏的问题
  2. peoplesoft SQR language
  3. sql server 导出表结构
  4. http://www.cnblogs.com/summers/p/3225375.html
  5. 【原创】.NET Core应用类型(Portable apps & Self-contained apps)
  6. Java算法-快速排序
  7. 实时获取UITextField内容
  8. 《day16_多线程细节_Eclipse使用》
  9. html/css 两个div在同一行
  10. 最小生成树------Prim算法
  11. python导入上级目录中的模块
  12. 推送消息实现icon角标的动态显示
  13. SlidingMenu导入编译用法--Eclipse和IDEA
  14. 日期 bootsrtap-datatimepicker and bootstrap-datepicker 控件支持中文
  15. freemarker错误九
  16. openssl ca(签署和自建CA)
  17. python学习:递归列出目录里的文件
  18. Civil 3D 2017本地化中VBA程序移植到2018版中
  19. latch release ......
  20. 通过进程link路径(快捷方式路径)得到进程完整路径

热门文章

  1. PHP全栈开发
  2. python基础补漏-08-异常处理
  3. 九度oj 题目1083:特殊乘法 清华大学2010年机试题目
  4. 【bzoj2802】[Poi2012]Warehouse Store 贪心+堆
  5. win 7 取得最高权限
  6. 用-webkit-box-reflect制作倒影
  7. [BZOJ3817]Sum
  8. 刷题总结——pole(uva 1638 dp)
  9. 反射+注解:excel2module
  10. 【CF1029A】Many Equal Substrings(模拟)