关于C语言结构体指针问题?

[复制链接]
查看11 | 回复4 | 2011-5-6 20:56:46 | 显示全部楼层 |阅读模式
#include
struct student
{
        char name[10];
        int num;
        int age;
        char addr[15];
};
struct reard
{
        int flag;
        struct student data;
};
int main(void)
{
        struct reard *p={1,{"yang",1001,19,"q"}};
        printf(%d %s %d %d %s\n",p->flag,p->data->name,p->data->num,
                p->data->age,p->data->addr);
        return 0;
}
不大会用这个定义为结构体为指针 希望沟通下 QQ277615608

回复

使用道具 举报

千问 | 2011-5-6 20:56:46 | 显示全部楼层
char * name 是一个指针,变量name存放的一个指向字符串的首地址。你memset之后。name变为零了。也就是说,是一个无效的指针。对于不同的编译器和执行环境来说,有的会报错,有的则是什么也不输出。或者输出其它的错误信息。
回复

使用道具 举报

千问 | 2011-5-6 20:56:46 | 显示全部楼层
#includestruct student {char name[10];int num;int age;char addr[15];};struct reard{int flag;struct student data;};int main(void){
回复

使用道具 举报

千问 | 2011-5-6 20:56:46 | 显示全部楼层
结构的引用还是比较简单的.struct data{int data1, data2 ;...} mydata ;struct data a, * b ;在引用结构成员时就是: a.data1, a.data2 , b->data1, b->data2 ;
回复

使用道具 举报

千问 | 2011-5-6 20:56:46 | 显示全部楼层
多看看书上题就懂了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行