博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struct 和typedef struct的区别
阅读量:4518 次
发布时间:2019-06-08

本文共 911 字,大约阅读时间需要 3 分钟。

和int char一样struct也是一种数据类型,也可以声明变量--结构变量。

定义结构体变量的一般格式为:

struct 结构名{    类型 变量名;    类型 变量名;    ...}结构变量;

另一种常用的格式为:

typedef struct 结构名{    类型 变量名;    类型 变量名;    ...}结构别名;

结构名是结构的标识符,它不是结构变量名,可加可不加。

Struct 在C语言中有下面四种用法:

1.

struct{    int num;    char name;}Stu;

Stu是这个结构体的结构变量,不能再声明其他结构变量,

只能直接访问
Stu.num;

2.

struct Student{    int num;    char name;}Stu;

必须使用struct Student声明struct变量

struct Student Stu1;
Stu1.num;
而Stu已经被声明成struct变量可直接访问
Stu.num;

3.

typedef struct{    int num;    char name;}Stu;

Stu相当于 struct{}的别名,可以声明struct变量。

Stu Stu1;
Stu1.num;

4.

typedef struct Student{    int num;    char name;}Stu;

struct Student Stu1;

Stu1.num;
有typedef后,Stu相当于struct Struct{}的别名,可以声明struct变量
Stu St2;
St2.num;

在c++中很简单,直接

struct Student{    int num;    char name;}Stu;

申明变量时可直接 Student Stu1;

而Stu还是struct变量,可直接访问Stu.num;
在c++中使用typedef赋别名也和C中一样,只不过它可直接使用结构名,命名结构变量。

转载于:https://www.cnblogs.com/Nice-Boy/p/6580226.html

你可能感兴趣的文章
mysql for macOS安装
查看>>
iOS中的KeyChain的用途
查看>>
jquery与checkbox的checked属性的问题
查看>>
HDU5092——Seam Carving(动态规划+回溯)(2014上海邀请赛重现)
查看>>
java 格式化字符串
查看>>
[.Net]轻量ORM——Dapper
查看>>
语言基础
查看>>
C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
查看>>
C#中字符串转换成枚举类型的方法
查看>>
psplash
查看>>
git的安装和简单使用
查看>>
20151024-1025-威海-第5届全国高校软件工程专业教育年会参会总结
查看>>
Airplace平台
查看>>
TinyOS实例介绍
查看>>
15个nosql数据库
查看>>
css hack 尽我所见
查看>>
[转]ORACLE联机日志文件无故全部消失
查看>>
Javascript基础学习12问(四)
查看>>
[原]VS2012入门图文教程——第一个程序Hello World
查看>>
#pragma once 与 #ifndef 解析(转载)
查看>>