C/C++笔记
QQ : 1841545843
邮箱 : jiaxx903@163.com
- typedef 允许为各种数据类型定义新名字,使用后边的代替前边的。
#define 使用前边的代替后边的。
typedef char* ptr_to_char; // ptr_to_char 代替 char*
ptr_to_char psz; // psz 为 char* 类型
使用typedef而不是#define来创建信的类型名,因为后者无法正确处理指针类型。
#define d_ptr_to_char char*;
d_ptr_to_char a, b; // 正确的声明了啊, 但b却被声明为一个字符。
在定义更为复杂的类型名字的时候,如函数指针或指向数组的指针的时候,使用typedef更为合适。
- 常量:
int const *pci; // 指向整形常量的指针,可以修改指针的值,但不能修改它指向的值。
int * const cpi; // 指向整形的常量指针,次指针是常量,它的值无法修改,但可以修改它指向的整形值
int const * const cpic; // 无论是指针本身还是他指向的值都不能被修改。
// 左结合原理,在左边谁靠近Const谁就是常量。