如何理解ANSI和K&R两种函数定义风格
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章将为大家详细讲解有关如何理解ANSI和K&R两种函数定义风格,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在C语言的函数定义上,我们通常都是用
千家信息网最后更新 2025年11月08日如何理解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安全错误
数据库的锁怎样保障安全
手机游戏软件开发前景
供电公司信息网络安全
移动专线网络安全
轻应用服务器 云桌面
java软件开发是什么职业
网络安全是讲什么的
云开发的数据库代码在哪里
网络安全法 规定 个人
联想超融合服务器
成都软件开发公司速成班
网络技术专业毕业设计论文
抓好网络安全法
视觉对位软件开发源码
win8 数据库格式转换
以前人人网的数据库
企业信息化管理专业软件开发
评价网络技术的影响
ipv6服务器该做什么防护
云游戏服务器怎么调
网络技术是前端还是后端技术
中国四大网络安全行业
班信网络技术有限公司
判断数据库是否插入成功
银行网络安全宣传简讯
上海朝夕网络技术有限公司好吗
东港市网络安全应急指挥中心
网络安全预算一般包含
医药网络安全知识
盘州网络安全系统怎么样
ipv6服务器该做什么防护