C语言学习笔记8——enum, sizeof,typedef

xiaoxiao2021-02-28  36

enum的分析

在C语言中:

enum是一种自定义类型

enum的值是可以根据需要自定义的整型值

第一个定义enum值默认为0

默认情况下的enum值是在前一个定义值的基础上加1

enum类型的变量只能取定义时的离散值

enum的特殊意义:

enum中定义的值是C语言中真正意义上的常量

在工程中enum多用于定义整型常量

/* 测试程序 */ #include <stdio.h> enum // 无名枚举, 用于定义常量 { ARRAY_SIZE = 10 // 定义数组大小 }; int main(void) { int i = 0; int array[ARRAY_SIZE] = {0}; for(i = 0; i < ARRAY_SIZE; i++) { array[i] = i + 1; printf("array[%d] = %d\n", i, array[i]); } return 0; }

sizeof关键字的分析

sizeof是编译器的内置关键字

sizeof用于计算类型或变量所占的内存大小

sizeof的值在编译期就已经确定

sizeof用于类型sizeof用于变量sizeof(type)sizeof(var) 或 sizeof var

注意:sizeof是C语言内置关键字而不是函数

在编译过程中所有的sizeof将被具体的数字所替换

程序的执行过程与sizeof没有任何关系

/*测试代码*/ #include <stdio.h> int main() { int var = 0; int size = sizeof(var++); printf("var = %d, size = %d\n", var, size); return 0; }

运行结果

var = 0, size = 4

由此得知:var++ 未被执行, sizeof(var++)在编译期就被具体的数值 4 所代替


typedef关键字分析

typedef用于给一个已经存在的数据类型重命名

typedef本质上不能产生新的类型

typedef重命名的类型:

可以在typedef语句之后定义不能被unsigned和signed修饰

用法:

typedef type new_name;
转载请注明原文地址: https://www.6miu.com/read-2626889.html

最新回复(0)