目录
1 什么是声明,什么是定义
2 声明是如何形成的
3 不能忽视宏定义中的空格
4 typedef与#define的区别
1 什么是声明,什么是定义
C语言中的对象必须有且只有一个定义,但它可以有多个extern声明。两个术语含义如下:
定义
只能出现在一个地方
确定对象的类型并分配内存,用于创建新的对象。例如:int my_array[100];
声明
可以多次出现
描述对象的类型,用于指代其他地方定义的对象,由于并未在声明中为数组分配内存,所以并不需要提供关于数组长度的信息。例如:extern int my_.array;
2 声明是如何形成的
在C语言中,声明的基本格式遵循一种相对固定的结构,尽管根据声明的具体内容(如变量、数组、函数、指针等),格式会有所变化。如下是一个概括性的C语言声明基本格式: