C语言名词混淆
关键词辨析
1. typedef
typedef 是C语言中用来给已有类型定义一个新名字的关键字。通过 typedef 可以将一个现有的数据类型(如 int, char, float等)定义为一个新的类型名,方便程序员使用,提高代码的可读性和可维护性。
例如:typedef int myInt; 就是将 int 类型定义为一个新的类型名 myInt。这样,在使用时就可以直接使用 myInt 来代替 int。
typedef 的一般语法为:
typedef <已有类型> <新类型名>;
注意,typedef 并不是创建新类型,而是定义了一个已有类型的别名。因此,typedef 不会占用额外的内存空间。
2. struct
struct 是 C 语言中的一个关键字,用于定义结构体(Structure)。
结构体是一种自定义的数据类型,它可以包含多个不同类型的成员变量,这些变量按照定义的顺序依次存储在内存中。通过结构体,可以将多个相关的数据组合在一起,形成一个更复杂的数据结构。
结构体的定义通常包括两个部分:结构体标签和结构体成员。结构体标签用于给结构体类型起一个名称,而结构体成员则定义了结构体中的各个成员变量及其类型。
以下是一个使用 struct 关键字定义结构体的示例:
struct Person {
char name[20];
int age;
float height;
};
上述代码定义了一个名为 Person 的结构体,它包含三个成员变量:name、age 和 height,分别表示人的姓名、年龄和身高。
要使用结构体,可以先声明一个结构体变量,然后给它的成员变量赋值。例如:
struct Person p1;
strcpy(p1.name, "Alice");
p1.age = 25;
p1.height = 1.65;
上述代码声明了一个名为 p1 的结构体变量,并给它的成员变量赋值。可以通过点运算符(.)访问结构体变量的成员,如 p1.name、p1.age 和 p1.height。
需要注意的是,在每次访问结构体变量的成员时,都需要使用点运算符来指定具体的成员变量名。
注意,typedef 并不是创建新类型,而是定义了一个已有类型的别名。因此,typedef 不会占用额外的内存空间。
3. typedef struct
typedef struct 是 C 语言中的一个关键字组合,用于定义结构体类型。
结构体是 C 语言中一种自定义的数据类型,可以将不同类型的数据组合成一个新的类型。通过 typedef 关键字,可以给结构体类型起一个新的名称,从而方便后续使用。
例如,下面的代码定义了一个名为 Person 的结构体类型,包含两个成员变量 name 和 age:
struct Person {
char name[20];
int age;
};</