关于结构体类型、结构体类型名以及结构体变量的区分?
typedef struct
{ int n;
char ch[8];
}PER; 展开
关键字 struct 就代表是一个结构体类型。
PER就是就是这个结构体类型的名称。
PER per ; per就是定义好的结构体变量。
12345678910111213141516171819202122typedef struct PER{ int n; char ch[8];}PER;一般这样定义结构体类型 定义变量的时候可以 struct PER per; 或者 直接 PER per; 而用你写的定义方法只能用 PER per 定义变量 如果这样写struct PER{ int n; char ch[8];}; 只能用 struct PER per 的方式定义变量。
扩展资料:
#include<stdio.h>
struct pn544_dev{ //一般性定义结构体
char a;
};
typedef struct { //定义一个数据类型
char a;
}pn545_dev;
int main()
{ struct pn544_dev *dev_id;
//struct pn544_dev *pn544_dev = dev_id; //这个可以
struct pn544_dev pn544_dev; //这个也是可以,可见不是数据类型的愿因
pn544_dev.a='a';
putchar(pn544_dev.a);
pn545_dev pn545_dev; //这个也可以,即使用typedef声明了数据类型,也可以同名。
pn545_dev.a= 'b'
putchar(pn545_dev.a);
return 0;}
参考资料来源:百度百科 ——结构体类型
关键字 struct 就代表是一个结构体类型。
PER就是就是这个结构体类型的名称。
PER per ; per就是定义好的结构体变量。
typedef struct PER
{
int n;
char ch[8];
}PER;
一般这样定义结构体类型
定义变量的时候可以
struct PER per; 或者 直接 PER per;
而用你写的定义方法只能用 PER per 定义变量
如果这样写
struct PER
{
int n;
char ch[8];
};
只能用 struct PER per 的方式定义变量。
请帮我看下下面的哪项是正确的?呢
则下面叙述中正确的是( )。
A) PER 是结构体变量名 B) PER是结构体类型名
C) typedef struct 是结构体类型 D) struct 是结构体类型名
PRE是结构体类型名称 pre是结构体变量
选B和C
2018-06-10
关键字 struct 就代表是一个结构体类型。
PER就是就是这个结构体类型的名称。
PER per ; per就是定义好的结构体变量。
typedef struct PER{ int n; char ch[8];}PER;一般这样定义结构体类型定义变量的时候可以 struct PER per; 或者 直接 PER per;而用你写的定义方法只能用 PER per 定义变量如果这样写struct PER{ int n; char ch[8];};只能用 struct PER per 的方式定义变量。
typedef struct PER这句和结尾的PER都是结构体类型名;(除非省去typedef但是结尾的PER得修改名字,因为此时修改过后的PER已经变成了结构体变量名)
而C中,typedef是自定义变量名,struct是结构体关键字,所以C是错误的。
关键字 struct 就代表是一个结构体类型。
PER就是就是这个结构体类型的名称。
PER per ; per就是定义好的结构体变量。
typedef struct PER{ int n; char ch[8];}PER;一般这样定义结构体类型定义变量的时候可以 struct PER per; 或者 直接 PER per;而用你写的定义方法只能用 PER per 定义变量如果这样写struct PER{ int n; char ch[8];};只能用 struct PER per 的方式定义变量。