首页 > 代码库 > C/C++ 学习之旅 - 实战3 - 在Struct结构体中使用函数Function
C/C++ 学习之旅 - 实战3 - 在Struct结构体中使用函数Function
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。