C语身教程第七章:布局与勾结(2)
2011-03-07 18:43
204 查看
在ANSI C中除了容许具有相反典范的布局变量相互赋值以外, 一样往常对布局变量的使用,包孕赋值、输出、输出、 运算等都是经由布局变量的成员来完成的。
表示布局变量成员的一样往常法子是: 布局变量名.成员名 比如:boy1.num 即第一个人私人的学号 boy2.sex 即第二个人私人的性别 假定成员自己又是一个布局则必需逐级找到最初级的成员才干使用。比如:boy1.birthday.month 即第一个人私人出生的月份成员可以在法式中零丁使用,与往常变量完全相反。
布局变量的赋值
前面曾经引见,布局变量的赋值即是给各成员赋值。 可用输出语句或赋值语句来完成。
[例7.1]给布局变量赋值并输出其值。
main(){
struct stu
{
int num;
char *name;
char sex;
float score;
} boy1,boy2;
boy1.num=102;
boy1.name="Zhang ping";
printf("input sex and score\n");
scanf("%c %f",&boy1.sex,&boy1.score);
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
本法式顶用赋值语句给num和name两个成员赋值,name是一个字符串指针变量。用scanf函数静态地输出sex和score成员值,然后把boy1的一切成员的值全体付与boy2。最后判袂输出boy2 的各个成员值。本例表示了布局变量的赋值、输出和输出的要领。
布局变量的初始化
假定布局变量是全局变量或为静态变量, 则可对它作初始化赋值。对部门或自动布局变量不克不及作初始化赋值。
[例7.2]外部布局变量初始化。
struct stu /*定义布局*/
{
int num;
char *name;
char sex;
float score;
} boy2,boy1={102,"Zhang ping",'M',78.5};
main()
{
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
struct stu
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
main()
{
boy2=boy1;
……
}
本例中,boy2,boy1均被定义为外部布局变量,并对boy1作了初始化赋值。在main函数中,把boy1的值全体付与boy2, 然后用两个printf语句输出boy2各成员的值。
[例7.3]静态布局变量初始化。
main()
{
static struct stu /*定义静态布局变量*/
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
static struct stu
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
本例是把boy1,boy2都定义为静态部门的布局变量, 异常可以作初始化赋值。
版权声明:
原创作品,容许转载,转载时请务必以超链接法子标明文章 原始出处 、作者信息和本声明。不然将清查规律责任。
表示布局变量成员的一样往常法子是: 布局变量名.成员名 比如:boy1.num 即第一个人私人的学号 boy2.sex 即第二个人私人的性别 假定成员自己又是一个布局则必需逐级找到最初级的成员才干使用。比如:boy1.birthday.month 即第一个人私人出生的月份成员可以在法式中零丁使用,与往常变量完全相反。
布局变量的赋值
前面曾经引见,布局变量的赋值即是给各成员赋值。 可用输出语句或赋值语句来完成。
[例7.1]给布局变量赋值并输出其值。
main(){
struct stu
{
int num;
char *name;
char sex;
float score;
} boy1,boy2;
boy1.num=102;
boy1.name="Zhang ping";
printf("input sex and score\n");
scanf("%c %f",&boy1.sex,&boy1.score);
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
本法式顶用赋值语句给num和name两个成员赋值,name是一个字符串指针变量。用scanf函数静态地输出sex和score成员值,然后把boy1的一切成员的值全体付与boy2。最后判袂输出boy2 的各个成员值。本例表示了布局变量的赋值、输出和输出的要领。
布局变量的初始化
假定布局变量是全局变量或为静态变量, 则可对它作初始化赋值。对部门或自动布局变量不克不及作初始化赋值。
[例7.2]外部布局变量初始化。
struct stu /*定义布局*/
{
int num;
char *name;
char sex;
float score;
} boy2,boy1={102,"Zhang ping",'M',78.5};
main()
{
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
struct stu
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
main()
{
boy2=boy1;
……
}
本例中,boy2,boy1均被定义为外部布局变量,并对boy1作了初始化赋值。在main函数中,把boy1的值全体付与boy2, 然后用两个printf语句输出boy2各成员的值。
[例7.3]静态布局变量初始化。
main()
{
static struct stu /*定义静态布局变量*/
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
static struct stu
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
本例是把boy1,boy2都定义为静态部门的布局变量, 异常可以作初始化赋值。
版权声明:
原创作品,容许转载,转载时请务必以超链接法子标明文章 原始出处 、作者信息和本声明。不然将清查规律责任。
相关文章推荐
- C语身教程第七章:结构与勾结(3)
- C语身教程第七章:布局与联结(5)
- C语身教程第七章:结构与连系(8)
- C言语教程第七章:布局与连系(7)
- Dojo1.11官方教程文档翻译(5.6)Dijit布局
- 开始iOS 7中自动布局教程(一)
- 2013 duilib入门简明教程 -- 界面布局(9)
- ExtJS2.0实用简明教程 - Border区域布局
- 十天学会DIV+CSS第十天 div+css网页标准布局实例教程
- 数据库系统原理教程 第七章 数据库恢复技术 习题集
- Flex 布局教程:实例篇
- flex布局教程
- Div+CSS布局入门教程(一)
- Flex 布局教程:语法篇
- CSS 布局:40个教程、技巧、例子和最佳实践
- iOS屏幕适配教程(手动布局和自动布局)
- ExtJS2.0实用简明教程——布局概述
- 10032---div+css布局教程之div+css常见布局结构定义
- 转载(阮一锋)Flex 布局教程:语法篇
- Flex3 界面布局教程 第二篇