c语言struct
㈠ c语言struct函数
定义一个SqList类型的变量,变量名为L。
类似int i;
只不过SqList是自定义的结构体类型,L就是该类型的一个结构体变量。
㈡ C语言中struct是个什么意思 怎么用 能不能通俗点说
结构(struct)
结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。
结构中可以使用不同的数据类型。
结构说明和结构变量定义
在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此, 象其它 类型的变量一样, 在使用结构变量时要先对其定义。定义结构变量的一般格式为:
struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构变量;
结构名是结构的标识符不是变量名。 类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和 无值型)。
构成结构的每一个类型变量称为结构成员, 它象数组的元素一样, 但数组中 元素是以下标来访问的, 而结构是按变量名字来访问成员的。 下面举一个例子来说明怎样定义结构变量。
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} person;
这个例子定义了一个结构名为string的结构变量person, 如果省略变量名 person, 则变成对结构的说明。用已说明的结构名也可定义结构变量。这样定义 时上例变成:
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
}; struct string person;
如果需要定义多个具有相同形式的结构变量时用这种方法比较方便, 它先作 结构说明, 再用结构名来定义变量。
如果省略结构名, 则称之为无名结构, 这种情况常常出现在函数内部, 用这 种结构时前面的例子变成:
struct
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} Tianyr, Liuqi;
结构作为一种数据类型, 因此定义的结构变量或结构指针变量同样有局 部变量和全程变量, 视定义的位置而定。
结构变量名不是指向该结构的地址, 这与数组名的含义不同, 因此若需要求结构中第一个成员的首地址应该是&[结构变量名]。
(2)c语言struct扩展阅读:
结构体变量可进行哪些运算
结构体变量不能相加、不能相减,也不能相互乘除,但结构体变量可以相互赋值。也就是说,可以将一个结构体变量赋给另一个结构体变量。但前提是这两个结构体变量的结构体类型必须相同。
结构体变量的引用方式决定了:
“结构体变量名”可以与“结构体成员名”同名。
“结构体变量名”可以与“结构体名”同名。
“两个结构体类型定义的结构体变量中的成员可以同名”。
就比如定义了一个结构体类型用于存放学生的信息,里面有成员“char name[20];”,那么如果又定义了一个结构体类型用于存放老师的信息,那么里面也可以有成员“char name[20];”
因为结构体成员在引用时,必须要使用“结构体变量名.成员名”的方式来引用,通过引用就可以区分它们,所以不会产生冲突,因此可以同名!
只要不冲突,都可以重名!但是两个结构体变量名就不可以重名了,因为无法区分它们,就会产生冲突。当然这里说的是在同一个作用域内,如果在一个函数中定义一个局部变量a,那么在另一个函数中当然也可以定义一个局部变量a。它们互不影响。
㈢ C语言 struct
很好理解啊,a是一个函数,它的参数是complex_struct结构体类型,z是这种类型的形参。
㈣ c语言中struct的应用
在c中,struct是关键字--结构体的标识符,而node是用户自己定义的结构体名称,方便自己使用,而struct node name;便是定义一个node类型的结构体
㈤ c语言中,struct怎么用,什么意思
struct是定义一个结构体的关键字。例如
struct student
{
char name[20];//姓名
int num;//学号
};
void main()
{
struct student zhangsan;//定义一个zhangsan结构体变量。
zhangsan.num = 100;//给学号赋值
strcpy(zhangsan.name,"张三");//注意,千万不能直接:zhangsan.name="张三"
printf("%s\n%d\n",zhangsan.name,zhangsan.num);
}
㈥ C语言结构体
info_p没有初始化,它指向一个未知的地址
#include <stdio.h>
#include <string.h>
#include <conio.h>
struct student_info
{
char name[20];
unsigned int age;
unsigned int gender;
unsigned int classes;
float grade;
};
main()
{
struct student_info info[2];
struct student_info *info_p; /*your error*/
int i;
for(info_p=info;info_p<info+2;info_p++)
{
scanf("%s",info_p->name);
scanf("%d",&info_p->age);
scanf("%d",&info_p->gender);
scanf("%d",&info_p->classes);
scanf("%f",&info_p->grade);
}
for (i=0;i<2;++i)
{
printf("%s\t%d\t%d\t%d\t%f\n",info[i].name,info[i].age,info[i].gender,info[i].classes,info[i].grade);
}
}
㈦ 关于C语言的struct
struct 是定义一个结构体,结构体里有你需要的变量名和函数,然后可以声明这个结构体的变量,然后这个变量就包含你定义的变量和函数。注意声明结构体后要初始化
㈧ C语言结构体Struct怎么使用
在Turbo C中,结构也是一种数据类型, 可以使用结构变量,因此,像其它类型的变量一样,在使用结构变量时要先对其定义。
如果需要定义多个具有相同形式的结构变量时用这种方法比较方便,它先作结构说明,再用结构名来定义变量。
(8)c语言struct扩展阅读
指向结构体的指针是一个一直都没有掌握好的点,希望这里能记录好一点,加强理解。
对于指针有几个好处,
第一:就像指向数组的指针比数组本身更容易操作一样,指向结构的指针通常也更容易操作;
第二:在早期的C中参数传递只能使用结构的指针;
第三:很多奇妙的数据表示都是用了包含指向其他结构的指针的结构。
和数组不同,结构的名字不是该结构的地址(即单独的结构名并不是该结构地址的同义词),必须使用 & 运算符。
参考资料c语言结构体struct相关使用说明
㈨ C语言结构体定义
C语言结构体定义:struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。
结构体是C语言中聚合数据类型(aggregatedatatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
(9)c语言struct扩展阅读
1、struct是声明结构体类型时必须使用的关键字,不能省略。“结构体”这个词是根据英文单词structure译出的。
2、structSTUDENT是定义的数据类型的名字,它向编译系统声明这是一个“结构体类型”,包括name、num、sex、age、score、addr等不同类型的项。
3、structSTUDENT与系统提供的int、char、float、double等标准类型名一样,都是数据类型,具有同样的作用,都是用来定义变量的。
㈩ c语言结构体
data是你定义的一个结构类型(类似于int),DT是一个data的变量(类似于int i)。p是一个指针,用于指向一个data变量。
data的定义常见于单链表的节点结构,包含数据和指针两部分内容。数据当然是用来保存数据的,而指针用于把一个一个的节点串起来,在逻辑上形成一个链表