1、typedef
typedef声明的写法和普通的声明写法相同,只是把typedef关键字放在声明的前面,如:
char *ptr_to_char;//ptr_to_char声明为一个指向字符的指针
若加上typedef后:
typedef char *ptr_to_char;//ptr_to_char作为指向指针类型的新名字
如:
ptr_to_char a;//声明a是一个指向字符的指针
typedef声明类型可以避免声明变得又臭又长,而且对于那些复杂的声明,使用typedef的机制可以使程序更容易编写和维护。
2、常量
使用const关键字来声明常量
int const a;
const int a;//两者一样的意思只是风格不同
当const涉及到指针变量的时候,会是什么样的情况呢?
int *pi; //pi是一个普通的指向整型的指针
int const *pci; //pci是指向整型常量的指针,可以修改指针的值,但不能修改它指向的数值。
int *const cpi;//cpi是一个指向整型的常量指针,它所指向的值无法修改,但可以修改它指向的整型的值。
int const *const cpci;//两者都不能修改
通常可以使用#define来创建名字常量。比较下在什么情况下使用#define比使用const变量更好呢?
3、数据存储类型
a、static:它使变量的存储类型变为静态,在整个程序的执行过程中始终存在,但改变存储类型不能改变作用域。比如函数的形参不能声明为静态,因为总是在堆栈中传递给函数,用于支持递归。
b、初始化:比较下列两种语言任务完成的方式:
*******************
int a="25";
*******************
*******************
int a;
a=25;
*******************
文章评论(0条评论)
登录后参与讨论