原创 《C和指针》笔记---数据

2010-3-29 16:01 1872 1 1 分类: 软件与OS

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;


*******************


 


 


 


 


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
1
关闭 站长推荐上一条 /3 下一条