C该结构变化 struct typedef



这几天看代码,看到若干类型的结构,例如下列结构声明:

struct    book{

string name;

int price;

int num;

};

此种结构定义结构变量的格式例如以下:

struct    book      student;

struct      book{

string name;

int price;

int num;

}student;

此种形式代表声明结构的过程和定义结构变量的过程被合并成一步

typedef    struct  (book){   //book可省略

string name;

int price;

int num;

}student;

typedef的作用是为一个已存在的类型创建一个名字,故此种结构的结构体定义变量的格式是:student    a;

个人觉得最后一种在书写上比較方便。当你在程序中大量定义结构体变量时。



版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-09-29 00:53:02

C该结构变化 struct typedef的相关文章

struct & typedef struct用法详解

定义一个结构的一般形式为: struct 结构名 { 成员表列 }; 例:struct stu { int num; char name[20]; char sex; float score; } 在C++中,struct的功能得到了强化,struct不仅可以添加成员变量,还可以添加成员函数,和class类似. 二: typedef定义 typedef,为现有类型创建一个新的名字,或称为类型别名,在结构体定义,还有一些数组等地方都大量的用到. 例: typedef int SIZE; typed

C中多变的结构体 struct typedef

 这几天看代码,看到几种类型的结构体,结构声明如下: struct    book{ string name; int price; int num; }; 此种结构定义结构变量的格式如下: struct    book      student; struct      book{ string name; int price; int num; }student; 此种形式代表声明结构的过程和定义结构变量的过程被合并成一步 typedef    struct  (book){   //b

对struct typedef *的认识

typedef struct node { ……… }NODE,*PNODE; 应该等价于 typedef struct node NODE;//struct node = NODE,eg:struct node n; <==> NODE n;其中n为node型非指针变量 typedef struct node* PNODE//struct node* = PNODE,eg:struct node* a; <==> PNODE a;其中a为node型指针变量 其中PNODE是指向N

struct的应用

struct是一种数据结构,当需要存储的相关数据为一个集合时,struct是很好的选择;例如,当存储student,学生的学号, 名字,年龄,身高,就构成了一个集合,用stuct声名为: typedef struct chemical_student_for_uni{ char name[32]; int card_id; int age; int height; }student_c; struct指名了这个是chemical_student_for_uni结构,typedef为这个结构起了一

STL review:vector &amp; struct

I.vector 1.头文件:#include<vector>                        //容器vector是一个能实现随机存取.插入删除的动态数组,还可以当栈使. 2.创建: vector<int> v1:                             // < >里可以是struct或者vector嵌套:vector< vector<int> > ivec; vector是一个类模板,创建一个vector的过程

Linux C double linked for any data type

/************************************************************************** * Linux C double linked for any data type * 声明: * 提供一种双链接口,可以保存保存任何类型的数据. * * 2015-12-25 晴 深圳 南山平山村 曾剑锋 **********************************************************************

ELF解析(part one)

the contents class elf { //date structure Elf32_Ehdr ehdr; Elf32_Shdr shdr; Elf32_Phdr phdr; // void elf( void); void ~elf( void); void ehdr(void); void shdr(void); void phdr(void); void StringTable(void); void SymbolTable(void); void Relocation(void

第5课 C语言指针深入1

1.客户端两种主流的接口模型: #ifndef _SOCKETCLINET_H #endif _SOCKETCLINET_H #ifdef __cplusplus //如果用了C++的编译器,用C语言的规范来引用 extern "C" { #endif //socket客户端环境初始化 int socketclient_init(void** handle); //socket客户端报文发送 int socketclient_send(void* handle, unsigned ch

(C/C++)基于SharpUI控件库的插件式框架开发--第三篇框架基础服务库

一个框架基础的东西,一般也是操作的最基础的类,比如char.int.bool等,有时出现内存泄露的问题导致错误的抛出,但是C++开发有的时候就算是抛出异常,那也是靠经验来积累才能非常快速准确的找出错误所在,这就需要在框架中需要添加日志管理的接口,日志管理的好处就是开发者自身在找异常时提供参考,另一个就是如果用户操作时出现问题,也可将日志反馈,帮助快速解决问题:总之了为了更好的扩展完善我的框架,我详细列一下这个基础服务库(XPCore)包含内容: 虽说sharpui控件库内封闭好string类,但