如何理解ANSI和K&R两种函数定义风格
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,这篇文章将为大家详细讲解有关如何理解ANSI和K&R两种函数定义风格,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在C语言的函数定义上,我们通常都是用
千家信息网最后更新 2025年01月24日如何理解ANSI和K&R两种函数定义风格
这篇文章将为大家详细讲解有关如何理解ANSI和K&R两种函数定义风格,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
在C语言的函数定义上,我们通常都是用的函数定义方式为ANSI-C的函数定义方式。但是在C语言之父创立C语言之时,函数的定义形式并非现在我们所见到的形式。下面的代码显示了这样的差别,注意观察二者在声明与函数体签名上的差别。
#include#include /*K&R Standard==============start===================*/const char* originalFunc();/*K&R Standard---------------end--------------------*//*ANSI Standard=============start===================*/const char* ANSIFunc(char param1, char* param2);/*You also can define the function like below.* const char* ANSIFunc(char ,char*); *//*ANSI Standard--------------end--------------------*/int main() { printf("const char* originalFunc(param1,param2):%s\n", originalFunc('a', "word")); printf("const char* ANSIFunc(param1,param2):%s\n", ANSIFunc('a', "word")); return EXIT_SUCCESS;}/*K&R Standard==============start===================*/const char* originalFunc(param1, param2)char param1;char* param2; { printf("param1:%c\nparam2:%s\n", param1, param2); return "originalFunc";}/*K&R Standard---------------end--------------------*//*ANSI Standard=============start===================*/const char* ANSIFunc(char param1, char* param2) { printf("param1:%c\nparam2:%s\n", param1, param2); return "ANSIFunc";}/*ANSI Standard--------------end--------------------*/
K&R的风格与ANSI-C的比,K&R风格又称为identifier-list,而另一种风格则又称为declarator,其中originalFunc(param1, param2) 即为这个declarator。事实上两种风格在ANSI 99 标准中(6.9.1节)都有定义,只不过我们更推崇declarator的方式。因为它将对参数进行强制类型转换,而标识符列表的方式则没有进行这项操作。
关于如何理解ANSI和K&R两种函数定义风格就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
函数
风格
方式
语言
内容
差别
形式
文章
更多
知识
篇文章
不错
事实
事实上
代码
参数
只不过
将对
是在
标准
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
编写彩票选号缩水软件开发
为什么我的歌曲和服务器连接不了
闵行区防水网络技术供应商家
数据库与物流关系
数据库日志查看
h2数据库与redis
数据库方面的证书
监控室网络安全管理制度条例
杭州智能仓库软件开发定制方案
云服务器和手机卡
软件开发协议合同
网络安全信息技术培训总结
青岛水木石网络技术有限公司
不能找到系统数据库
杭州电脑软件开发费用是多少
打印机服务器路由器
石狮市慧心网络技术服务部
网络安全示范学校创建方案
软件开发未来5年规划
互联网领先科技成果展示馆
获取当前数据库名
青浦区综合网络技术咨询口碑推荐
服务器密码保存命令
广州小堡互联网科技有限公司
红河州软件开发培训机构
网络安全童谣4句
怎么学习it软件开发
2019网络安全网上答题
数据库系统三级结构是什么
数据库系统的四层模式结构