enum (枚举类型 )它将一组整型常量组织在一起使C语言拥有真正的常量;
语法规规则除了成员变量的定义和struct不一样外,其他都一样
enum color(枚举名,可不写,就是匿名枚举类型)
{
green,//注意这是逗号,不是分号
red=10,
blue,
};
enum的性质
1.enum可以根据需要定义自定义的整型值
2.第一个定义的enum值默认为0;
3.默认情况下enum值是前一个定义值的基础上加1
4.enum类型的变量只能取定义时的离散值
enum color c = red;
printf("%d",c);
在工程中enum多用于定义整型常量
enum
{
ARRAY_SIZE=10,
};
int a[ARRAY_SIZE]={0};
for(int i=0;i<ARRAY_SIZE;i++)
{
a[i]=i;
}
return 0;
}
sizeof() 看起来像一个函数,实际并不是一个函数;它是C语言内置指示符;
它用于计算类型或变量所占的 内存大小。
它的值在编译期就已经确定了;
1sizeof用于类型 sizeof(type)
2sizeof用于变量 sizeof(var)或 sizeof var;
int a =0;
printf("sizeof(int)=%d\n",sizeof(int));
printf("sizeof(a)%d\n",sizeof(a));
注意sizeof()的值在编译期就确定了,并在编译过程中sizeof将被具体的数值替换;与程序执行过程与sizeof没有任何关系
代码证明;
int fo()
{
printf("fo\n");
return 0;
}
int main()
{
printf(“sizeof(fo)=%d”,sizeof(fo()));
}
typedef 类型别名 是一个名字,它是某种类型的同义词;它能使某种复杂的类型名变得简单明了,易于理解和使用;
含有typedef的声明语句定义的不再是变量而是类型别名。
语法:typedef type new_name;
typedef double wages;//wages 是 double的别名
typedef不能产生新的类型,它只是别名。
typedef不能被 unsigned 和signed 修饰。
学习交流群学习交流群199546072