C语言经验总结

来源:互联网 发布:淘宝上的冷门刚需产品 编辑:程序博客网 时间:2024/05/22 11:32

1:什么是声明,什么是定义?

定义:就是指,编译器创建了一个对象或者变量时,系统给她分配内存空间,因此如果重复定义,系统会报重复定义的错误。


声明:

1)当对变量或者对象声明时,是用来告诉编译器,这个变量的内存单元已经被分配,你不能在在这个内存区域定义变量,如果下面的代码用到了声明的这个变量,是在别的地方定义的。因此声明变量一定放在变量的使用之前。、

2)声明函数是用来告诉编译器,某一块区域已经指定给某一个函数了,你不能在这个区域在来分配内存单元,虽然这个单元没有别占有,但是已经被预定。

因此:声明可以多次出现,定义只能出现一次。


2register变量

Register变量是用来在寄存器中分配变量,而不是内存中,因此受计算机的寄存器的一些限制,register变量不能过多,只能定义一些小于等于int型的变量,而且不能对该变量取地址。


3static变量

Static一般是用来限制变量的存储方式的,叫做静态存储方式,他与auto相反,static是将变量存放到静态区。Static有两个作用;

1) 修饰变量时,是用来告诉编译器这个变量只能在本文件使用,即使在另外的文件中用extern来声明该变量。

2)修饰变量时,是用来告诉编译器,该变量的生存周期是整个程序,从程序开始,到程序结束,即使函数开始没有定义。但是static的变量的作用域是从定义的地方开始,到定义此变量的函数结束而结束。如果你只想在定义static变量的函数中使用该变量,并且要在定义之前使用,就要用external来声明该变量。

Static修饰函数时,只有作用(1

 

4: 定义变量

   我们在定义变量的时候,只要变量名满足变量的基本的标识符要求的同时,还要满足C语言标识符不能太长,尽量见名之意,同时尽量不要用数字,这是一个定时炸弹,除非非用不可。并且在多文件编程中定义全局变量,最好在变量命中用一个范围限制的前缀。

全局变量取名:

 

如: int  loca_staticPointFloatTemp;

注意:局部变量可以不用来表示范围的前缀。

 

 

5sizeof

(1)首先sizeod是关键字而不是函数。

(2)如果有int i; 那么 sizeofi),sizeofint),sizeof i;都是正确的表示,唯独sizeof int是错误的。

 

 

0 0
原创粉丝点击