sizeof
计算类型的大小或变量的大小,也就字节个数。返回值是一个 无符号整型(unsigned int)
typedef
typedef
是在计算机编程语言中用来为复杂的声明定义简单的别名。它本身是一种存储类的关键字,与auto
、
extern
、
mutable
、
static
、
register
等关键字
不能
出现在同一个表达式中。
typedef的特点: 可将一切合法的定义转化为类型
typedef unsigned int UINT;//typedef定义为无符号整型类型
typedef int* PINT;//typedef定义为整形指针类型
typedef int Array[10];//typedef定义数组类型
int main()
{
UINT a = 10, b = 20;
PINT p=NULL, s=NULL;
Array ar = { 12,34,54 }, br = {23,34,54};
return 0;
}
typedef在结构体上的应用
两边的代码是等价的
Static
C
语言中
static
关键字修饰变量和函数
局部变量:当函数第一次被调用,函数的静态局部变量被初始化,再次调用这个函数,这个Static变量也不会再次被初始化,仍是保留的·前一次的调用结果。(
作用域不变,生存期改变)。
全局变量:static说明全局变量值可以在当前的C文件程序中使用(作用域受到限制,生存期不变)。
函数:static说明的函数知识可以在当前的C文件程序中使用(
作用域受到限制,生存期不变)。


因为a b所存在的区域不相同,在数据区的b是不会随着函数的结束而释放的
const 关键字
const
在实际编程中用得比较多,const 是 constant 的缩写,意思是“恒定不变的”!它是定义
只读变量
的关键字,或者说 const 是定义常变量的关键字。(
可读,不可写
)
const 可以修饰变量,数组,指针等;说 const 定义的是变量,但又相当于常量;说它定义的是常量,但又有变量的属性,所以叫
常变量
。用 const 定义常变量的方法很简单,就在通常定义变量时前面加 const 即可,如:
const
int
a
=
10
;
const 和变量类型 int 可以互换位置,二者是等价的,即上条语句等价于:
int
const
a
=
10
;
那么用 const 修饰后和未修饰前有什么区别呢?用 const 定义的变量的值是不允许改变的,即不允许给它重新赋值,
即使是赋相同的值也不可以。所以说它定义的是只读变量。这也就意味着必须在定义的时候就给它赋初值。
无论是全局
常变量还是局部常变量都必须初始化赋值。