A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 星河鹭起 中级黑马   /  2014-4-23 00:38  /  1110 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#include <stdio.h>
//typedef个结构体
typedef struct student
{
        int age;
        int year;
} stu;

//typedef个结构体指针
typedef struct student
{
        int age;
        int year;
}  * string  ;

int main()
{
        stu stu1={3,3};
        string p=&stu1;
        printf("%d %d",p->age,p->year);
}请问下,上面哪个地方错了,一直编译不成功。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

5 个回复

倒序浏览
你的两个结构体重名了,还有你定义一个结构体指针是用来干嘛的呢?如果你想直接通过指针去赋值的话,你直接定义stu *p就可以了啊!下面的代码供你参考一下
#include <stdio.h>
//typedef个结构体
typedef struct student
{
    int age;
    int year;
} stu;

int main()
{
    stu stu1={3,3};
    stu *p = &stu1;
    printf("%d %d\n", p->age, p->year);
}

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
楼主是想定义一个指向结构体变量的指针吧
#include <stdio.h>
//typedef个结构体
typedef struct student
{
        int age;
        int year;
} stu;



int main()
{
        stu stu1={3,3};
        stu *p=&stu1;//*p是指向结构体变量的指针
        printf("%d %d",p->age,p->year);
return 0;
}

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
谢谢各位,现在懂了
回复 使用道具 举报
结构体重复定义
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马