typedef struct fri{ char name[10]; int birthday; char tel[17]; };
时间: 2024-01-05 19:03:46 浏览: 112
这段代码存在一个错误,应该在结构体定义之后加上分号。
正确的写法是:
```
typedef struct fri {
char name[10];
int birthday;
char tel[17];
} Friend;
```
这样就定义了一个名为 `Friend` 的结构体类型,其中包含了三个成员变量:`name`、`birthday` 和 `tel`。注意,这里使用 `typedef` 关键字给结构体定义起了一个新的别名 `Friend`,以后可以直接使用 `Friend` 来代替 `struct fri`。
相关问题
typedef struct { char name[20]; int age; }person; 这种写法和struct { char name[20]; int age; }person;有什么区别
这两种写法的区别在于是否使用了 `typedef` 关键字。使用 `typedef` 关键字的写法可以定义一个新的类型名 `person`,使得以后在定义变量时可以直接使用 `person` 作为类型名,而不需要再写一遍结构体定义。不使用 `typedef` 关键字的写法则需要在定义变量时再次写出结构体的定义。因此,使用 `typedef` 关键字可以让代码更加简洁易读,而不使用 `typedef` 关键字则可以更加清晰地表达出变量的类型。两种写法都是合法的,根据实际情况选择即可。
typedef struct { char name[30]; int age; char sex; }str; str={"John",19,'M'};
这段代码存在语法错误,具体问题在于在定义结构体变量时,不能直接在定义时对该变量进行初始化赋值,正确的方式是先定义结构体变量,再对其进行赋值操作。以下是正确的写法:
```
typedef struct {
char name[30];
int age;
char sex;
} str;
str s = {"John", 19, 'M'}; // 先定义结构体变量,再进行赋值操作
```
这样就能正确定义并初始化一个名为`s`的`str`类型的结构体变量,成员变量分别为`"John"`、`19`和`'M'`。
阅读全文