您的位置:首页 > 其它

《C和指针》读书笔记(二)

2016-03-28 15:07 239 查看
C语言中,仅有4种基本数据类型-整形,浮点型,指针和聚合类型(数组和结构)
short int 至少16位,long int 至少32位
头文件 limits.h说明了各种不同的整型类型的特点
常量不能修改但是可以通过
char *message="Hello World" < => char *message; message="Hello World";
int const a;<=> const int a;
[align=left]//看上去是将初始值赋给*message,其实是赋值给message本身[/align]
          
char *message = "Hello World" ;
          
typedef char *ptr_to_char;
          
ptr_to_char a; //a是一个指向字符的指针
          
//typedef 与#define相比,typedef可以处理指针类型的声明
[align=left]
[/align]
          
const int a1 = 0;
          
int const a2 = 1;
[align=left]
[/align]
          
int *pi;//pi->指向整形的指针
          
int const *pci;//指向整形常量的指针,可修改指针的值,不可以修改它所指向的值
          
int *const cpi=0;//指向整形的常量指针,此时指针是常量,它的值无法修改,可修改它指向的整形值
[align=left]
[/align]
          
//左定值(指针指向的值不可修改),右定向(指针不可修改)
          
int a = 248, b = 4;
          
int const c = 21;
          
const int *d = &a;
          
int * const e = &b;
          
int const *
const f = &a;
          
//c = 32;
          
//*d = 43;
          
//e = &a;
          
//f = 0x321f;
          
//d = &b;
[align=left]
[/align]
[align=left]
[/align]
[align=left]          四种不同的作用域:文件作用域,函数作用域,代码块作用域,原型作用域[/align]
[align=left]          代码块作用域: 一对花括号之间{},内层代码块作用域会隐藏同名的外层的标识符[/align]
[align=left]          文件作用域: 任何在代码块作用域之外的都成为文件作用域[/align]
[align=left]          原型作用域:只适用于函数原型声明的参数名[/align]
[align=left]          函数作用域:只适用于语句标签,语句标签用于goto语句(一个函数中,所有语句标签必须一致),尽量不用[/align]
[align=left]
[/align]
[align=left]
[/align]
          连接属性:external(外部)
internal (内部) none(无)
[align=left]          [/align]
[align=left]          函数的形参不能声明为static,因为实参要在堆栈中传递给函数,用于支持递归[/align]
[align=left]
[/align]
[align=left]          具有external连接属性的实体在所有文件的所有实体中,都可以访问,只要变量并非声明于代码块或[/align]
[align=left]          函数定义内部,他在缺省的情况下连接属性都是external,[/align]
具有external连接属性的实体总有静态存储类型

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: