黑马程序员技术交流社区

标题: 复习的时候遇到个难题 [打印本页]

作者: 2014571245    时间: 2014-4-13 20:48
标题: 复习的时候遇到个难题
本帖最后由 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;
}


作者: 程序猿-2014    时间: 2014-4-14 00:55
#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;
}
不知道是不是这样理解的     但是感觉挺墨迹的(代码)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2