关于结构体类型、结构体类型名以及结构体变量的区分?
关键字 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;}
参考资料来源:百度百科 ——结构体类型
2023-08-15 广告