| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:<求助>用指针变量输出结构数组
只看楼主 加入收藏
、镜花氺月
Rank: 2
等 级:论坛游民
帖 子:71
专家分:18
注 册:2010-11-5
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:4 
<求助>用指针变量输出结构数组
程序代码:
#include<stdio.h>

struct stu
{
    int num;
    char *name;     //为什么是*name而不是name?
    char sex;
    float score;
}boy[5]={
          {101,"Zhou ping",'M',45},
          {102,"Zhang ping",'M',62.5},
          {103,"Liou fang",'F',92.5},
          {104,"Cheng ling",'F',87},
          {105,"Wang ming",'M',58},
        };
void main()
{

 struct stu *ps;

 printf("No\tName\t\t\tSex\tScore\t\n");

 for(ps=boy;ps<boy+5;ps++)

 printf("%d\t%s\t\t%c\t%f\t\n",ps->num,ps->name,ps->sex,ps->score);
}
为什么换成
程序代码:
#include<stdio.h>

struct stu
{
    int num;
    char name;
    char sex;
    float score;
}boy[5]={
          {101,'Z','M',45},
          {102,'Z','M',62.5},
          {103,'L','F',92.5},
          {104,'C','F',87},
          {105,'W','M',58},
        };
void main()
{

 struct stu *ps;

 printf("No\tName\t\t\tSex\tScore\t\n");

 for(ps=boy;ps<boy+5;ps++)

 printf("%d\t%s\t\t%c\t%f\t\n",ps->num,ps->name,ps->sex,ps->score);
}
就会出错.
2011-03-21 12:34
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:15 
#include<stdio.h>

struct stu
{
    int num;
    char name; //变成字符了
    char sex;
    float score;
}boy[5]={
          {101,'Z','M',45},
          {102,'Z','M',62.5},
          {103,'L','F',92.5},
          {104,'C','F',87},
          {105,'W','M',58},
        };
void main()
{
struct stu *ps;
printf("No\tName\t\t\tSex\tScore\t\n");
for(ps=boy;ps<boy+5;ps++)
printf("%d\t%c\t\t%c\t%f\t\n",ps->num,ps->name,ps->sex,ps->score);
}

#include<stdio.h>

struct stu
{
    int num;
    char *name;   //name是字符指针,存储字符串的首地址
    char sex;
    float score;
}boy[5]={
          {101,"Zhou ping",'M',45},
          {102,"Zhang ping",'M',62.5},
          {103,"Liou fang",'F',92.5},
          {104,"Cheng ling",'F',87},
          {105,"Wang ming",'M',58},
        };
void main()
{
struct stu *ps;
printf("No\tName\t\t\tSex\tScore\t\n");
for(ps=boy;ps<boy+5;ps++)
printf("%d\t%s\t\t%c\t%f\t\n",ps->num,ps->name,ps->sex,ps->score);
}




[ 本帖最后由 qq1023569223 于 2011-3-21 13:51 编辑 ]

   唯实惟新 至诚致志
2011-03-21 13:49
yeying102gk
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:15
专家分:16
注 册:2011-3-11
收藏
得分:0 
我想问一下,boy好像没有定义,怎么能用呢?(for(ps=boy;ps<boy+5;ps++))这句没有看懂!
2011-03-21 16:04
常建华
Rank: 2
等 级:论坛游民
帖 子:16
专家分:28
注 册:2011-3-20
收藏
得分:0 
boy是一个结构体的名字,在定义结构体的时候 以及被初始化了,在内存之中已经有了这个名字。
2011-03-21 16:19
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:5 
要定义一个字符串的话  要嘛是个数组  要嘛是个指针,直接定义的话好像不行  我试了
2011-03-21 16:32
快速回复:<求助>用指针变量输出结构数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051975 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved