
正文
c语言声明结构体变量函数 c语言声明一个结构体
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言如何定义结构体变量
首先,定义一个结构的一般形式为:
struct结构名
{
//成员表列
};
成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num;
char name[20];
char sex;
float score;
};
在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
然后,当结构定义完成后,即创建了一种数据类型,可以像int、float等内置类型一样使用,以上面定义的stu结构体来和int类型对比着看。
int a;//定义一个int类型的变量a
stu a; //定义一个stu类型的变量a
int *p; //定义一个int类型的指针p
stu *p; //定义一个stu类型的指针p
int a[10];//定义一个int类型的数组a,它有10个元素,每个元素是int类型
stu a[10];//定义一个stu类型的数组a,它有10个元素,每个元素是stu类型。
相关问答
Q1: C语言中定义结构体的几种方法
1、先定义结构体类型,再定义结构体变量。
structstudent{
charno[20];//学号
charname[20];//姓名
charsex[5];//性别
intage;//年龄
};
structstudentstu1,stu2;
//此时stu1,stu2为student结构体变量
2、定义结构体类型的同时定义结构体变量。
structstudent{
charno[20];//学号
charname[20];//姓名
charsex[5];//性别
intage;//年龄
}stu1,stu2;
3、直接定义结构体变量。
struct{
charno[20];//学号
charname[20];//姓名
charsex[5];//性别
intage;//年龄
}stu1,stu2;
扩展资料
结构体的定义
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregatedatatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。
结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。结构体,他就将不同类型的数据存放在一起,作为一个整体进行处理。
Q2: C语言中如何把结构体变量定义在主函数内,再调用一个自定义输入函数和输出函数
可以在外部定义结构体类型,然后在主函数内部定义该类型的变量。在输入输出函数调用时,以结构体变量指针做为参数传递。
参考代码如下:
#include stdio.h
struct test
{
int a;
};//定义结构体类型struct test。
void input(struct test* p)//输入函数,以指针作为参数。
{
scanf("%d",p-a);
}
void output(struct test *p)//输出函数,以指针作为参数。这里也可以以结构体变量作为参数,不过用指针效率更高。
{
printf("%d\n", p-a);
}
int main()
{
struct test v;//定义结构体变量v。
input(v);//输入。
output(v);//输出。
return 0;
}
Q3: C语言中定义结构体类型变量的方法?
1.结构体类型数据的定义方法和引用方法
定义结构体:struct
结构体名
{
成员列表
};
定义结构体类型的变量:有三种形式
①
定义类型时定义变量:struct
结构体类型名
{
成员列表
}变量名列表;
②
直接定义结构类型变量:struct
{
成员列表
}变量名列表;
③
由已定义的结构体类型来定义变量:struct
结构体类型名变量名列表;
引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的
变量:
结构体变量名.成员名
这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。
使用结构体时注意:
(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义
结构体类型,然后再定义变量属于该类型。
(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空
间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构
体类型变量占用内存的字节数是所有成员占用内存长度之和。
(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员
时,应采取外层向内层逐级访问的方法。
求采纳为满意回答。
Q4: C语言中如何定义全局结构体变量
结构c语言声明结构体变量函数的定义
用户定义自己所需要的结构型c语言声明结构体变量函数,可以采用下列定义语句:
struct 结构型名
{ 数据类型符1 成员名1;
数据类型符2 成员名2;
数据类型符3 成员名3;
...
数据类型符n 成员名n;
};
定义结构型变量的方法有三种c语言声明结构体变量函数,在定义的同时,可以给变量的每个成员赋初值。
先定义结构型,后定义变量
例如:
struct student
{long number;
char name[10];
char sex;
float score[3];
};
...
struct student x,y; /*定义student结构型的变量x和y*/
在定义结构型变量的同时,可以对结构型变量的所有成员赋初值。
例如:
struct student x={100001L,"zhao1",'f',{89,94,86}},
y={100002L,"zhao2",'m',{78,86,92}};
2.定义结构型的同时定义变量
这种方法是将结构型的定义和变量定义同时进行。然后仍然可以使用这种结构型来定义其他的变量。
例如:
struct student
{long number;
char name[10];
char sex;
float score[3];
}x={1000001L,"zhao1",'f',{89,94,86}}; /*定义结构型同时定义变量并赋值*/
...
struct student y={100002L,"zhao2",'m',{78,86,92}}
/*这个语句是正确的是因为前面定义了数据类型符struct student*/
3.定义无名称的结构型的同时定义变量
这种方法是将结构型定义和变量的定义同时进行,但省略了结构型的名称,以后将无法使用这种结构型来定义其他变量。例子与2的例子差不多,只是因为没有定义结构型的名称,所以后面对y的赋值就不可用。
从变量的生存期来分,我们把生存期覆盖了定义点到整个程序结束的变量成为具有全局寿命的变量,简称“全局变量”。
习惯上结构定义都是在main函数之前的,从这一点上看,结构都是全局变量,不知道这样回答是不是让你满意。
关于c语言声明结构体变量函数和c语言声明一个结构体的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







