加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

适合具备 C 语言基础的 C++ 攻略之一

发布时间:2021-06-06 02:03:59 所属栏目:编程 来源:互联网
导读:C 说话凡是被以为是一种面向进程的说话,由于其自己的特征更轻易编写面向进程的代码,虽然也不解除行使 C 说话编写面向进程的代码,好比 Linux 的源代码以及此刻

C 说话凡是被以为是一种面向进程的说话,由于其自己的特征更轻易编写面向进程的代码,虽然也不解除行使 C 说话编写面向进程的代码,好比 Linux 的源代码以及此刻很火的国产品联网操纵体系 RT-Thread,其内核的实现方法都是行使 C 说话实现的面向工具的代码。对比于 C 说话来说,C++ 更可以或许实现面向工具的措施计划,其具有的特征也要比 C 说话要多的多。下面假设有这样一个需求。

现要描写两小我私人的信息,姓名,职业,年数,并输出。

我们起首先行使 C 说话的计划思绪实现这个成果。

C说话描写

假如行使 C 说话来描写上面这个题目,大部门城市想到行使布局体来完成这个要求,写出的措施也就如下所示:

#include <stdio.h> 

 

struct person 

    char *name; 

    int age; 

    char *work; 

}; 

 

int main(int argc, char** aggv) 

    struct person persons[] = { 

        {"wenzi",24,"programer"}, 

        {"jiao", 22,"teacher"}, 

    }; 

 

    char i; 

    for (i = 0; i < 2; i++) 

    { 

        printf("name is:%s,age is:%d,work is:%sn",persons[i].name,persons[i].age,persons[i].work); 

    } 

上述这是较量低级的写法,假如对 C 说话相识的更多一点的人在写这段措施的时辰,会行使函数指针的方法将代码写的越发奇妙,代码如下所示:

#include <stdio.h> 

 

struct person 

    char *name; 

    int age; 

    char *work; 

 

    void (*printInfo)(struct person *per); 

}; 

 

void printInfo(struct person *per) 

    printf("The people's name is:%s,age is:%d,work is:%sn",per->name,per->age,per->work); 

 

 

int main(int argc, char** argv) 

    struct person per[2]; 

 

    per[0] = {"wenzi",18,"programer",printInfo}; 

    per[1] = {"jiaojiao",18,"teacher",printInfo}; 

 

    per[0].printInfo(&per[0]); 

    per[1].printInfo(&per[1]); 

行使了函数指针的方法来誊写这个措施,措施也变得越发简介了,主函数里也少了 for轮回。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读