码迷,mamicode.com
首页 > 编程语言 > 详细

C/C++ 学习之旅 - 实战3 - 在Struct结构体中使用函数Function

时间:2017-07-23 19:38:38      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:div   变量   void   har   定义函数   main   实战   code   coding   

Coding部分:

#include<stdio.h>

struct Student{
    int ID;
    char* Name;
    int Age;
    void(*toString)(int id,char* name,int age);
};//定义包含学生ID、姓名、年龄和输出函数指针的结构体Student

void toString(int id,char* name,int age){
    printf("myStudent实例变量的ID值:%d\n",id); 
    printf("myStudent实例变量的Name值:%s\n",name);
    printf("myStudent实例变量的Age值:%d\n",age);     
}//输出函数,在实例化结构体时需要将内部函数指针与该函数链接起来

int main(){
    struct Student myStudent = {1,"罗帅",20};
    myStudent.toString = toString;//将外部的toString函数链接至结构体内部的函数指针上
    myStudent.toString(myStudent.ID,myStudent.Name,myStudent.Age);//调用结构体内部函数
    return 0;//退出程序
}

附上效果图(和上一篇随笔的效果是一样的,只是封装成了结构体内部函数):

技术分享

笔者提醒:由于在C中,结构体内部不允许有函数的定义,所以只能通过在外部定义函数,并在结构体中给出函数指针,然后通过该指针来链接到该函数,从而实现调用结构体内部函数的效果。

在下一篇,我们将开始尝试用所学的东西,做一个基本的计算器功能,加油吧!

C/C++ 学习之旅 - 实战3 - 在Struct结构体中使用函数Function

标签:div   变量   void   har   定义函数   main   实战   code   coding   

原文地址:http://www.cnblogs.com/luoshuai/p/7225379.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!