⑴ 哪位大侠能够给我讲解一下c语言的结构体定义和调用!~!!!!
结构体就是把一些属性定义放在一起定义,如:
typedef struct A
{
int c;
int b;
...
};
这样如果在程序中使用c就可以用A来定义一个变量如 A a,这样a就有了c,b的属性(好像说属性不太专业~~)。想调用就可以在程序中使用a.c了,如a.c = 3;
⑵ C语言结构体Struct怎么使用
在Turbo C中,结构也是一种数据类型, 可以使用结构变量,因此,像其它类型的变量一样,在使用结构变量时要先对其定义。
如果需要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。
(2)c语言的结构体详解扩展阅读
指向结构体的指针是一个一直都没有掌握好的点,希望这里能记录好一点,加强理解。
对于指针有几个好处,
第一:就像指向数组的指针比数组本身更容易操作一样,指向结构的指针通常也更容易操作;
第二:在早期的C中参数传递只能使用结构的指针;
第三:很多奇妙的数据表示都是用了包含指向其他结构的指针的结构。
和数组不同,结构的名字不是该结构的地址(即单独的结构名并不是该结构地址的同义词),必须使用 & 运算符。
参考资料c语言结构体struct相关使用说明
⑶ c语言结构体
data是你定义的一个结构类型(类似于int),DT是一个data的变量(类似于int i)。p是一个指针,用于指向一个data变量。
data的定义常见于单链表的节点结构,包含数据和指针两部分内容。数据当然是用来保存数据的,而指针用于把一个一个的节点串起来,在逻辑上形成一个链表
⑷ c语言结构体是什么
C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。
在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。
简介
关键字struct和结构体名组合成一种类型标识符,其地位如同通常的int、char等类型标识符,其用途就像 int 类型标识符标识整型变量一样可以用来定义结构体变量。
定义变量以后,该变量就可以像定义的其他变量一样使用了;成员又称为成员变量,它是结构体所包含的若干个基本的结构类型,必须用“{}”括起来,并且要以分号结束,每个成员应表明具体的数据类型。
⑸ C语言的结构体
/*给你改了几个地方 注释都写了 这种求最大值的函数 一定要传 数组的首地址 你看看就应该明白了 忘采纳*/
#include "stdio.h"
struct student//结构体
{
char name[20];
float score;
int id;
};
float max(struct student * stu,int len)//取最大值 stu代表结构体数组首地址 len代表数组长度
{
float m;
int i;
for(i=0;i<len-1;i++)//这里记得 len-1 因为下边有个stu[i+1] 如果len不减1 会越界
{
if(stu[i].score>stu[i+1].score)
m=stu[i].score;
else
m=stu[i+1].score;
}
return m;//返回最高分
}
void main()
{
int i;
float m;
struct student s29[5];
for(i=0;i<5;i++)
{
// s29[i].id;
printf("请输入名字:");
scanf("%s",s29[i].name);
printf("请输入成绩:");
scanf("%f",&s29[i].score);//把 lf 改成 f
}
printf("学号\t 姓名\t成绩\n");
for(i=0;i<5;i++)
printf("%d\t %s\t%.2f\n",i+1,s29[i].name,s29[i].score);
m=max(s29,5); //传结构体数组地址和结构体数组长度
printf("最高分为:%.2f",m);
}
⑹ C语言的结构体,百科介绍的不怎么容易明白,这两种是什么意思
(1) struct{ int x; int y; }test1;
好,定义了 结构 test1,
test1.x 和 test1.y 可以在语句里用了。
(2) struct test {int x; int y; }test1;
好,定义了 结构 test1,
test1.x 和 test1.y 可以在语句里用了。
与 1 比,省写 了 test
(3)
typedef struct test
{int x; int y; // 你漏打分号,给你添上
}text1,text2;
只说了 这种结构 的(类型)别名 叫 text1 或叫 text2
真正在语句里用,还要写:
text1 test1;
然后好用 test1.x test1.y
或写 text2 test1;
然后好用 test1.x test1.y
(4)type struct {int x; int y; }test1;
这个不可以。
改 typedef ... 就可以了。
但也同 (3)一样,还要 写:
test1 my_st;
才能用 my_st.x 和 my_st.y
⑺ c语言中结构体的作用到底是干什么的,能通俗点讲吗
把有关系的变量放在一起,查看起来方便
⑻ C语言中,结构体作为函数参数传递,详解
1.可以把结构体作为参数啊,
2.不去取地址的意思,是引用的意思,函数执行时修改L的值,就直接的修改了实参的值,相当于地址传递了。
3.真正调用的时,如下:
SqList
tempStruct;
InitList_Sq(tempStruct)
这样就可以了。
呵呵
⑼ C语言结构体定义
C语言结构体定义:struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
结构体是C语言中聚合数据类型(aggregatedatatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
(9)c语言的结构体详解扩展阅读
1、struct是声明结构体类型时必须使用的关键字,不能省略。“结构体”这个词是根据英文单词structure译出的。
2、structSTUDENT是定义的数据类型的名字,它向编译系统声明这是一个“结构体类型”,包括name、num、sex、age、score、addr等不同类型的项。
3、structSTUDENT与系统提供的int、char、float、double等标准类型名一样,都是数据类型,具有同样的作用,都是用来定义变量的。
⑽ C语言结构体的用法,
结构体的使用,首先要定义:
#include<stdio.h>
structstudent
{
charname[10];
intnum;
intage;
};//注意要分号
//然后就可以使用了:
voidmain()
{
structstudents;
structstudent*p=&s;//指针指向,可以不用指针
printf("inputname:");
gets(s.name);//若使用指针,则:gets(p->name);
printf("inputnum:");
scanf("%d",&s.num);//指针的写法:scanf("%d",&p->num);
printf("inputage:");
scanf("%d",&s.age);
//输出结果:
printf("name num age ");
printf("%s %d %d ");
}
结构体类似于数组,但结构体能定义不同的数据类型,这也是它的特别之处