首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>C语言程序设计基础之结构

C语言程序设计基础之结构

2004-09-14 11:27作者:出处:唯c世界责任编辑:方舟

  结构变量的赋值

  前面已经介绍,结构变量的赋值就是给各成员赋值。 可用输入语句或赋值语句来完成。

  [例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);
}
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都定义为静态局部的结构变量, 同样可以作初始化赋值。

共6页。 9 1 2 3 4 5 6 :

关注此文的读者还看过:

返回开发频道首页

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络