C语言中如何定义全局结构体变量

希望能详细说明,在.h中如何编写,在.cpp中如何编写比如结构体externstructpeople{charname[20];charnum[15];charmail[... 希望能详细说明,在.h中如何编写,在.cpp中如何编写 比如结构体
extern struct people
{char name[20];
char num[15];
char mail[20];
}peop[N];
展开
 我来答
ares0814
推荐于2017-10-08 · TA获得超过609个赞
知道小有建树答主
回答量:326
采纳率:50%
帮助的人:122万
展开全部

结构的定义

用户定义自己所需要的结构型,可以采用下列定义语句:

struct 结构型名
数据类型符1 成员名1;
  数据类型符2 成员名2;
  数据类型符3 成员名3;
  ...
  数据类型符n 成员名n;
};

定义结构型变量的方法有三种,在定义的同时,可以给变量的每个成员赋初值。

  1. 先定义结构型,后定义变量

例如:

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函数之前的,从这一点上看,结构都是全局变量,不知道这样回答是不是让你满意。

背心_心背
2014-12-28 · TA获得超过449个赞
知道小有建树答主
回答量:644
采纳率:100%
帮助的人:508万
展开全部
.h中
struct people
{char name[20];
char num[15];
char mail[20];
}peop[N];

.cpp中 extern struct pepole peop[n];
希望采纳 有不懂的可以追问
更多追问追答
追答
我晕  懒得下载  你要在用的地方加一个extern 就行了   就表示那个变量是外部文件的
代码看看
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式