c语言结构体的用法例子,c语言 结构体 入门

在说结构体之前,我们先来看看类型和变量

比如 int a;

int是类型名,a是变量名

变量名是我们自己定义的,可以改成其他名字,但是int,char这些类型名是不能修改的

而结构体可以让我们自己定义类型名

下面我们来定义一个student类型,一个chen变量

例子

struct student //结构体

{

int age;//成员

int score;

};

struct student chen;//student是类型名,chen是变量名

我们创建了一个叫student的结构体类型名,然后可以用这个结构体来定义一个叫做chen的变量。

对比一下struct student chen和int a,其中struct是结构体类型,

而student等同于int,chen等同于a

实际上省略struct直接写成student chen也不会报错,但是一般还是要加上struct来声明这是一个结构体类型

更简单的方法是下面这样

struct student //结构体

{

int age;//成员

int score;

}chen;

直接声明了一个student类型的chen变量

下面来看看用法

struct student//类型

{

int age;//成员

int score;

};//注意不要漏掉冒号

student chen={19,100}; //赋值,chen的age是19,chen的score是100

printf("%d\n",chen.age);

printf("%d\n",chen.score);

/*

输出结果:

19

100

Press any key to continue

*/

要使用结构体里的成员,首先要定义一个该结构体的变量(例子中的student chen),然后用变量名.成员名(例子中的chen.age)。

注意不要和类型名搞混,写成student.age。

赋值可以用student chen={19,100}; 19和100会分别赋值给变量chen的age和score

当然也可以用chen.age=19,chen.score=100;来赋值

如果你用的是简写的方法

也可以在定义结构体的时候就赋值

struct student//类型

{

int age;//成员

int score;

}chen={19,100};

下面来看看typedef

之前的例子类型名是struct student,如果想省略stucrt怎么办呢

定义结构体还有一种方法

typedef struct

{

int age;//成员

int score;

}student;//类型名

student chen;//定义变量

上面用了typedef关键字,然后把struct后面的类型名student放到了下面,这样,定义变量的时候就不用写struct了

但是,用这种方法的话,要注意不要把类型名和变量名搞混

我们对比一下

//普通方法

struct student

{

int age;//成员

int score;

}chen;//变量名

chen.age=19;

-----------------------------------------------------------------------------------------------------------

//用typedef的方法

typedef struct

{

int age;//成员

int score;

}student;//类型名

student chen;//定义变量名

chen.age=19;//正确

student.age=19;//错误!!

用了typedef的话,类型名student放在了下面,这里原本是放变量名chen的地方,所以容易弄乱,因为要使用结构体里的成员,需要变量名.成员,像上面那样把类型名student误以为是变量名就会写成student.age然后出错

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值