const、typedef 、 define总结

const关键字
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和volatile关键字的后面若紧跟类型说明符则作用于类型说明符;在其他情况下,作用于它左边紧邻的指针星号。

                                                                                                                                                                                                                                                                                                                    

typedef 与 define的区别体现在两个方面
1.define可以对定义的宏类型名进行扩展,而typedef不可以
  1. #define peach int  
  2. unsigned peach i;//没有问题  
  3. typedef int peach;  
  4. unsiged peach i;//错误,非法  
define关键字只是简单的字符替换,而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};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值