C语言,结构体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,结构体相关的知识,希望对你有一定的参考价值。

这题怎么做?

struct在C语言中是一个关键字,用于定义结构数据类型。
  问题中的两种定义的区别在于第一种是给student数据类型,重新定义了一个类型别名,而第二种则单纯的表示一种叫做student的数据结构类型。两者的主要区别在于后面直接定义变量时。如下代码,则可以直接在结构体后面定义一个zhang_san的结构体变量。
struct?student

int?num;
struct?student?*next;
zhang_san;  而第一种的定义,则会出现错误。
typedef?struct?student

?int?num;
?struct?student?*next;
student?zhang_san;  
扩展:
  “结构”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。?每一个成员可以是一个基本数据类型或者又是一个构造类型。?结构即是一种“构造”而成的数据类型,?那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。
  定义一个结构的一般形式为:
struct结构名

//成员表列
;
  成员表由若干个成员组成,?每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符?成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct?stu

????int?num;
????char?name[20];
????char?sex;
????float?score;
;
  在这个结构定义中,结构名为stu,该结构由4个成员组成。?第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。?应注意在括号后的分号是必不可少的。
参考技术A 输出结果是16。因为函数中的形式参数x只是接收了主调函数中实参变量a的值拷贝,所以函数fun1中对x的成员的改变并不作用到主调函数中的变量a上,输出的是a的成员,所以值没有改变。

以上是关于C语言,结构体的主要内容,如果未能解决你的问题,请参考以下文章

c语言结构体能否整体赋值

C语言结构体函数的返回值是结构体结构体变量中的信息

C语言结构体函数的返回值是结构体结构体变量中的信息

c语言里面的结构体是啥意思

C语言结构体数组的定义

c 语言结构体中包含结构体 是数组吗