C语言读书笔记

1.c语言中一共有32个关键字,分别是:

  auto、int、double、long、char、short、float、unsigned、signed、sizeof、extern、

  static、goto、if、else、struct、typedef、union、enum、switch、case、break、

  default、do、while、const、register、volatile、return、void、for、continue。

注意:define、include这些带#号的都不是关键字,是预处理指令。

2.定义与声明
  定义   是创建一个对象并为之分配内存。  如:int   a;
  声明   是告诉编译器在程序中有这么一个对象,并没有分配内存。   如: extern   int    a;
 
3.对于register这个关键字定义的变量,不能进行取地址运算(&),因为对于x86架构来说,地址都是在内存中的,不是在寄存器中的,所以对寄存器进行取地址是没有意义的。并且应该注意的是给register定义的变量,应该赋一个比寄存器大小 要小的值。注意:register只是请求寄存器变量,但是不一定申请成功
 
4.关键字static:=
   对于static有两种用法:
   a.修饰变量:对于静态全局变量静态局部变量,都有一个特点就是不能被作用域外面,或外文件调用(即使是使用了extern也没用)。原因就是它是存储在静态存储区中的。对于函数中的静态局部变量还有一个问题,就是它是存在静态存储区的,即使函数结束栈区收回,这个变量的值也不改变。static int i=0;  这是一条初始化语句  而不是一条赋值语句  所以跟i=0不一样的。
   b.修饰函数 :是定义为静态函数,使函数只能在文件内部使用,这样不同文件中的函数名就不怕重名了。原因也是相同的,就是static修饰的一切都是在静态存储区中的。
posted @ 2014-03-04 14:37  _Venom_  阅读(862)  评论(0编辑  收藏  举报