二级C语言考试辅导教程第七章:结构与联合[2]

文章作者 100test 发表时间 2007:03:26 17:30:39
来源 100Test.Com百考试题网


结构变量的赋值

前面已经介绍,结构变量的赋值就是给各成员赋值。 可用输入语句或赋值语句来完成。
[例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 的各个成员值。本例表示了结构变量的赋值、输入和输出的方法。 来源:www.examda.com

结构变量的初始化
如果结构变量是全局变量或为静态变量, 则可对它作初始化赋值。对局部或自动结构变量不能作初始化赋值。
[例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各成员的值。 来源:www.examda.com
[例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语言考试辅导教程第八章:枚举,位运算[1]
二级C语言考试辅导教程第八章:枚举,位运算[2]
二级C语言考试辅导教程第七章:结构与联合[2]
二级C语言考试辅导教程第七章:结构与联合[1]
二级C语言考试辅导教程第七章:结构与联合[3]
二级C语言考试辅导教程第六章:指针[3]
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛