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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 2014571245 中级黑马   /  2014-4-13 20:48  /  877 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 2014571245 于 2014-4-19 13:07 编辑

请问这段代码是什么意思啊?看不太懂
#include<stdio.h>
typedef struct student
{
    char *name;
    int   num;
    int   age;
    char *(*Getname)(struct student *);
}stu;
char* getname(stu * this)
{
    return this->name;

}
int main()
{
    stu a;
    char *p;
    a.Getname=getname;
    a.name="abva";
    p=a.Getname(&a);
    printf("%s\n",p);
    return 0;
}

1 个回复

倒序浏览
#include<stdio.h>
//结构体
typedef struct student
{
    char *name;
    int   num;
    int   age;
    char *(*Getname)(struct student *);//一个指向结构体指针的指针
}stu;//结构体的新名字
char* getname(stu * this)//返回name
{
    return this->name;
   
}
int main()
{
    stu a;//定义一个结构体变量a
    char *p;//定义一个指针变量P
    a.Getname=getname;//将返回的name赋值给a.Getname
    a.name="abva";
    p=a.Getname(&a);//将name的地址赋值给P
    printf("%s\n",p);//输出
    return 0;
}
不知道是不是这样理解的     但是感觉挺墨迹的(代码)

评分

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

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马