问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

请问C语言中结构名和结构变量是什么?

发布网友 发布时间:2022-05-07 16:51

我来回答

4个回答

热心网友 时间:2023-11-06 21:51

结构可以看成是特殊的数组。
结构名等同数组名。结构变量等同 数组名。-- 通俗易懂吧!
数组 含一组数,它们是同一类型的。整型数组,它的所有元素都是整型。float 数组,它的所有元素都是float型.
结构 含一组数,它们往往 是 不同类型的。 例如,它的成员 有整型,有float型,有 char 型。
有没有结构变量,就同有没有数组变量一样。
你不想用一堆简单变量,而改用数组,就用数组了。同样,你不想用一堆各种类型的简单变量,你就改用结构了。
例如,学生信息:姓名,学号,数学成绩,语文成绩,物理成绩,平均分数,你想把1个学生的这些信息作为一组数,放在一个变量里。你就可以定义一个结构类型,例如喊它struct student. 成员变量名叫 name,num,math,yuwen,wuli,mean.
写出:
struct student{char name[20];int num;float math,yuwen,wuli,mean;} -- 这就是结构。
struct student st1,st2,st3,st4; -- 声明了4个学生的学生信息结构变量,变量名 st1,st2,st3,st4
接下来就可以使用它们了。
至于如何用,自己看书吧。这里只能扼要回答基本问题。

热心网友 时间:2023-11-06 21:52

#include<stdio.h>
#include<string.h>

struct A
{
char name[16];
int  number;
};

int main()
{
A a;
strcpy(a.name,"Hello World!");
a.number=123;
printf("%s,%d\n",a.name,a.number);
return 0;
}

结构相当于C++或者Java的类,跟数组有什么关系?

只是一种自定义的类型。

追问只学过C 没学过C++和JAVA。。

热心网友 时间:2023-11-06 21:52

别人的答案我实在看不懂,所以在别的地方看到后来这里回答一下我的个人理解,如果有问题请指教。

下面的代码每一段的含义都是一样的。

// 情况一:student作为结构体的标识符 常规操作
 struct student{ 
   char name[20];
   int num;float math,yuwen,wuli,mean;
   };
struct student st1, st2, st3;

/**********************分割线*************************/ 
  
 // 情况二:和上面同样的情况,不过我在定义结构体的时候顺便把st1 st2 st3给声明了。
 // 这里后面跟的结构变量st1 st2 st3就是新声明的三个student的实例而已。
struct student{
    char name[20];int num;
    float math,yuwen,wuli,mean;
    } st1, st2, st3;
    
/**********************分割线*************************/  

// 情况三:下面这两个例子用了typedef关键字。简单来说,后面的“st”可以代
// 替"struct student"来进行声明。所以下面两种情况自然是等价的。
// 实际上这里后面跟的并不是“结构变量”,这就是typedef的使用格式罢了,
// 所以虽然看起来很像,实际上和上面的情况没什么关系。
typedef struct student{
    char name[20];int num;
    float math,yuwen,wuli,mean;
    } st;
struct student st1, st2, st3;

/**********************分割线*************************/ 

typedef struct student{
    char name[20];int num;
    float math,yuwen,wuli,mean;
    } st;
st st1, st2, st3;

热心网友 时间:2023-11-06 21:53

类就像一份说明书
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
厂口银杏园地址在哪里? 昆明银杏大道在什么地方 昆明哪些地方有银杏树 从二月河“帝王三部曲”看90年代的文学场(一) 二月河《落霞三部曲》读书札记 安装织梦CMS到新浪SAE,这数据库主机,用户都是什么?这个是安装在新浪SE... SAE上的mySql初始化了怎么用啊,java怎么连上去啊,地址,端口号,账号... 金鱼尾部出现血丝,怎么办? 金鱼尾鳍上有血丝,急躁不安是什么病 请问?家里养的金鱼,一夜过来,金鱼尾巴上面都有红色血丝是怎么回事... java中未初始化小程序是什么意思 (java)以下代码在堆中总共创建几个对象; YB/T9256-96中St3级表示啥 Java构造数组对象的问题,如果可以有代码感激不尽,不行也请告知思路,谢谢 java 高手们,问一个问题,关于String java中如何把一个txt文件中的信息保存在数组内存中? 袋鼠打人,海鸥袭人、澳洲的动物到底有多可怕? 谁能给我用这段代码讲一下在Java中为什么被重写的Object类里面的方法会被调用?分别在哪里被调用的 湖南考拉智能科技有限公司怎么样? vhdl语句中“type state is (st0,st1,st2,st3,st4,st5)”是什么意思? sublime text可以编辑java吗 superjunior m成员现在有几个 java代码: 有内行代码删除(注释)后依然可以行。被双斜扛注释这几行代码具体是什么用? 求考拉FM最近更新的《夫妻夜话》中背景英文歌曲 有人愿意进一下(考拉FM)节目大全-段子笑话、软件里的听一下不亦乐乎第181期的背景音乐告诉我是什 考拉用法语怎么说 如何用英语介绍考拉? 高二物理题! 2019最新物理题库广西桂林市2018-2019学年高二上学期期末考试物理试题 Mac上这个选项在哪 java String字符串池的问题 为什么输出一样,却有true 有false java中用Comparator接口实现的类,运行时出现问题 到底如何用sublime text 3生成bib文件并且编译 用java语言输出! 年级安全管理体系由年级组长什么什么和什么构成 学校管理的8个方面分别是? 年级安全管理体系由年级组长什么构成 手机有root,不能使用手机建设银行怎么办? 你好建设银行应用不支持root设置上使用是什么意思请帮我解答一下 哪些是学校必须做安全工作的要求 为了保护您的资金安全,中国农业银行不支持在root设备上使用,这是什么意思啊? 新未成年人保护法的实施,主要细化了哪些责任分布? 手机root不支持建行手机银行怎么办? 社会学概论?是什么 社会学概论(第二版)这门课一共有多少章节? 手机被root进不去建设银行怎么办? 社会学概论 能否介绍一下社会学的具体课程 社会学专业主要学些什么 开设课程有哪些 希腊字母有多少个?具体的读音和写法是怎样的