㈠ c语言结构体
问题在于如果你的结构的指针数真能达到极限,你怎么玩这个结构啊?
㈡ C语言结构体
/* p->averagescore=(p->score1+p->score2+p->score3)/3;*/*******为什么要用它 -> 因为p是指针,结构体指针引用成员时,就要用->,这是规定!
*p.averagescore=(*p.score1+*p.score2+*p.score3)/3;*******************为什么错 (*p).averagescore 要这样写,*p要用括号括起来,*p是个整体,代表指针指向的地址中的数据,相当于一个普通结构体数据变量。
㈢ C语言结构体简单编程
#include<stdio.h>
#include<stdlib.h>
#define mode(hdr) hdr+1
struct student{
struct student *next;
int num;
};
void main()
{
//printf("%d",mode(2));
struct student *hf=NULL;
hf = (struct student *)malloc(sizeof(struct student));//要给指针申请空间
hf->num=10;
printf("%d",hf->num);
}
㈣ C语言 结构体 怎么定义 使用 举个例子 看看
struct a
{
int m;
char f[20];
....
}
这就是结构体,定义一般放在头文件的开头!
㈤ 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 ");
}
结构体类似于数组,但结构体能定义不同的数据类型,这也是它的特别之处
㈥ c语言结构体
data是你定义的一个结构类型(类似于int),DT是一个data的变量(类似于int i)。p是一个指针,用于指向一个data变量。
data的定义常见于单链表的节点结构,包含数据和指针两部分内容。数据当然是用来保存数据的,而指针用于把一个一个的节点串起来,在逻辑上形成一个链表
㈦ 求一个C语言结构体编程例子。
#include<stdio.h>
structstudent
{
intnum;
charname[20];
intScore1;
intScore2;
intScore3;
}student[2];
intmain()
{
inti,j;
intAverage;
for(i=0;i<3;i++)
{
printf("请输入学生%d的资料: ",i+1);
printf("学号为:");
scanf("%d",&student[i].num);
printf("姓名是:");
scanf("%s",&student[i].name);
printf("第1门成绩是:");
scanf("%d",&student[i].Score1);
printf("第2门成绩是:");
scanf("%d",&student[i].Score2);
printf("第3门成绩是:");
scanf("%d",&student[i].Score3);
printf(" ");
}
printf("学号 姓名 语文 数学 英语 平均分 ");
for(j=0;j<3;j++)
{
Average=(student[j].Score1+student[j].Score2+student[j].Score3)/3;
printf("%d",student[j].num);
printf(" %s",student[j].name);
printf(" %d",student[j].Score1);
printf(" %d",student[j].Score2);
printf(" %d",student[j].Score3);
printf(" %d",Average);
printf(" =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* ");
}
}
㈧ c语言中用结构体的实例当做函数的参数是什么形式传入的
参数的传入分为两种形式:值传递和地址传递。如果把实例本身作为参数传到函数里面去,那么在函数里面实际上是另外产生一个临时的实例,其值和函数外部的那个实例一样,当然在函数内部对其做的一些改动是不会影响到外边的实例的,因为就不是同一个东西。当然如果在函数里不是想去改变什么而只是单纯的计算一些东西还是没问题的,不过在内存中的地址之类的当然是不一样的。。。传指针也就是把地址传进去,那么在函数里对该地址中的数据进行操作,当然就是在外部实例本身上面进行修改了
㈨ C语言结构体Struct怎么使用
在Turbo C中,结构也是一种数据类型, 可以使用结构变量,因此,像其它类型的变量一样,在使用结构变量时要先对其定义。
如果需要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。
(9)c语言结构体实例扩展阅读
指向结构体的指针是一个一直都没有掌握好的点,希望这里能记录好一点,加强理解。
对于指针有几个好处,
第一:就像指向数组的指针比数组本身更容易操作一样,指向结构的指针通常也更容易操作;
第二:在早期的C中参数传递只能使用结构的指针;
第三:很多奇妙的数据表示都是用了包含指向其他结构的指针的结构。
和数组不同,结构的名字不是该结构的地址(即单独的结构名并不是该结构地址的同义词),必须使用 & 运算符。