c语言结构体

作者&投稿:弋宁 (若有异议请与网页底部的电邮联系)
C语言 结构体~

#include "stdafx.h"这个头文件的问题,找不到该头文件
#include "stdafx.h"
#include
#include

void main()
{

enum body
{
{a,b,c,d}month[31],j;
int i;
j=a;
for(i=1;i<=30;i++)
{
month[i]=j;
j++;
if(j>d)
j=a;
}
for(i=1;i<=30;i++)
{
switch(month[i])
{
case a:printf("%2d%c",i,'a');break;
case b:printf("%2d%c",i,'b');break;
case c:printf("%2d%c",i,'c');break;
case d:printf("%2d%c",i,'d');break;
default:break;
}
}
printf("
");

}
}

还有就是最后少了一个大括号

#includestruct student{int num;char name[8];float score;};float average(struct student stu[]);//子函数定义在调用该子函数后时,需要在调用之前声明int main(){int i;float ave=0;struct student stu[6];for(i=0;i<6;i++){scanf("%d%s%f",&stu[i].num,stu[i].name,&stu[i].score);//scanf要用取地址符&}ave=average(stu);//参数是stu,不是6printf("%f
",ave);return 0;}float average(struct student stu[]){float a=0;//a要初始化为0int i;for(i=0;i<6;i++){a+=stu[i].score;}a=a/6;return a;}

C语言结构体定义:struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。

结构体是C语言中聚合数据类型(aggregatedatatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

扩展资料

1、struct是声明结构体类型时必须使用的关键字,不能省略。“结构体”这个词是根据英文单词structure译出的。

2、structSTUDENT是定义的数据类型的名字,它向编译系统声明这是一个“结构体类型”,包括name、num、sex、age、score、addr等不同类型的项。

3、structSTUDENT与系统提供的int、char、float、double等标准类型名一样,都是数据类型,具有同样的作用,都是用来定义变量的。

参考资料来源:百度百科—结构体



无论是在写种语言,当调用任何函数foo(type x)的时候,你都需要考虑函数的调用本身是否会对x的值造成影响。
就本例的C代码来说,这里type是一个结构体。当调用结构体时,实际上函数把这个结构体又复制了一份,并对复制的内容进行修改,所以对被调用的结构体无影响。
如果想要让函数改变原被调用结构体,需要把函数参数类型改成指针
int func(struct tree* t)
{
t->x=10;
t->s="computer";
return(0);
}
然后在调用的时候写成
func(&t);
就行了。原因是虽然结构体指针的值被复制了一份,但是结构体本身没有被复制。所以函数得到了指向结构体的指针的一份copy,对指针指向的原结构体进行了修改。

#include <stdio.h>
struct tree
{
int x;
char *s;
} t;
int func(struct tree t)
{
t.x=10;
t.s="computer";
return(0);
}
main()
{
t.x=1;//此处t是全局变量t
t.s="minicomputer";
func(t);//将全局变量t的值传递给形参t,这是单向值传递,所以在func里改变的是func里的局部变量的值,而不是全局变量的值
printf("%d?%s\n",t.x,t.s);//此处t也是全局变量t

}

执行func后,吧结构体的内部变量重新赋值了!


c语言struct和typedef struct有什么区别?
C语言结构体中struct和typedef struct区别为:声明不同、访问不同、重新定义不同。一、声明不同 1、struct:struct可以直接使用结构体名字声明结构体。2、typedef struct:typedef struct的为。修饰结构体,结构体有了别名,通过结构体别名声明结构体。二、访问不同 1、struct:struct定义的结构体变量,可...

请问下C语言中的结构体有什么用
结构体作用:结构体和其他类型基础数据类型一样,只不过结构体可以做成你想要的数据类型。在实际项目中,结构体是大量存在的,研发人员常使用结构体来封装一些属性来组成新的类型,结构体在函数中最主要的作用就是封装,封装的便利是可以再次利用,再次使用的时候只要根据定义使用就可以,结构体可以定义一些复...

C语言的结构体和共同体的区别是什么?
结构体(structure)是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型,而且每个成员的数据类型可以相同也可以不相同。共同体(union)将几种不同的变量储存在同一内存单元中,也就是使用覆盖技术,几个变量互相覆盖,这种几个不同的变量共同占用一段内存...

c语言结构体是什么?
C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,...

c语言中如何定义结构体?
在C语言中,定义结构体可以使用struct关键字。结构体是一种自定义的数据类型,可以包含多个不同类型的成员变量。以下是一个简单的结构体定义的例子:在这个例子中,我们定义了一个名为Student的结构体,包含三个成员变量:name、age和score。然后在main函数中创建了一个Student类型的结构体变量stu1,并初始...

请问下C语言中的结构体有什么用?
C语言中的结构体可以定义一些复杂数据类型,把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体。例如:以学生为例,学生存在学号,姓名,性别,班级等。此时你可以顶一个结构体,将这些学生信息封装到一个结构体中。code如下:struct student{ int iID \/\/学生的学号 char sStuName[10]...

C语言的结构体及指针
简单理解下,就是说把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体。指针,其实就是一个存放地址的变量,指针可以指向变量,数组,结构体等数据所在的内存单元。指针就是用来通过地址去找数据的,只要你把该数据的地址给指针,那么当你用到指向这个数据的指针时就等于在使用该数据。

C语言typedef的作用是什么?
c语言结构体定义中typedef的作用是为一种数据结构体定义一个新名字。在c语言中使用typedef帮助定义结构体,对于声明结构体变量,便可以直接使用typedef xxx(结构体名 对象名)的形式,而没必要带上struct关键词。实际项目C代码中,结构体的定义一般都使用了typedef,在大量使用结构体变量的场合,这样会省事...

c语言中如何定义一个结构体
结构体的定义如下所示,struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。在一般情况下,tag、member-list、variable-list这3部分至少要出现2个。结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针,而...

没有类,C语言有结构体,那么Go的结构体有什么特别之处?
Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 自定义类型 在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型。 自定义类型是定义了一个全新的...

五寨县18664655847: C语言中的结构体类型是什么? -
淡秒血塞: 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类.结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构.结构体同时也是一些元素的集合,这些元素称为结构体的成...

五寨县18664655847: c语言什么叫结构体 -
淡秒血塞: 结构体定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构. 结构体作用 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型.以方便日后的使用. ...

五寨县18664655847: 请问下C语言中的结构体有什么用? -
淡秒血塞: C语言中的结构体可以定义一些复杂数据类型,把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体. 例如:以学生为例,学生存在学号,姓名,性别,班级等.此时你可以顶一个结构体,将这些学生信息封装到一个结构体中...

五寨县18664655847: C语言 定义结构体 -
淡秒血塞: char *address; 用字符指针

五寨县18664655847: C语言的结构体类型是什么数据?数据有哪些类型? -
淡秒血塞: 结构体类型就是以struct关键字定义的数据类型. 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构.是一种聚合类型,里面可以包含多种数据类型,甚至可以结构体里嵌套结构体.相信我,等你深入理解了...

五寨县18664655847: c语言中定义结构体有哪些方法? -
淡秒血塞: 1.结构体类型数据的定义方法和引用方法 定义结构体:struct 结构体名 { 成员列表 }; 定义结构体类型的变量:有三种形式 ① 定义类型时定义变量:struct 结构体类型名 { 成员列表 }变量名列表; ② 直接定义结构类型变量:struct { 成员列表 }变量...

五寨县18664655847: C语言 写一个简单结构体 -
淡秒血塞: 参考代码: #include<stdio.h> struct person {char name[20]; //名字int H; //血量int M; //魔法 }; int main(void) {int input;struct person p[5] = {{"A", 30, 100}, // 设定不同人数属性{"B", 40, 200},{"C", 50, 300},{"D", 60, 400},{"...

五寨县18664655847: C语言结构体命名(c语言结构体命名方式)
淡秒血塞: C语言中的结构体:在C语言中,结构体指的是一种数据结构,是C语言中聚合数据类型的一类.结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构.结构体同时也是一些元素的集合,这些元素称为结构体的成员,且这些成员可以为不同的类型,成员一般用名字访问.在C语言中,结构体的名字本质上还是一个标识符.由标识符,有数字、字母、下划线组成,且第1个字符只能是字母或者下划线.

五寨县18664655847: c语言结构体 -
淡秒血塞: struct s是一个结构体数据类型,简单来说相当于int, float,x是一个结构体变量struct s{ }; 是结构体的声明struct s x;是结构体变量的声明...多看书.基础要扎实

五寨县18664655847: 什么是C语言结构体?
淡秒血塞: 结构体就像数组一样,其中的数据是有互相联系的,有些情况下定义一些简单的变量是不能反映出数据之间的内在联系,所以我们就把这些数据组合成一个项,而这个项中包含着很多不同的数据项,这就是结构体.简单理解下,就是说把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体.指针,其实就是一个存放地址的变量,指针可以指向变量,数组,结构体等数据所在的内存单元.指针就是用来通过地址去找数据的,只要你把该数据的地址给指针,那么当你用到指向这个数据的指针时就等于在使用该数据.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网