ANSI和K&R两种函数定义风格
来源:互联网 发布:收支软件下载 编辑:程序博客网 时间:2024/06/05 19:39
在C语言的函数定义上,我们通常都是用的函数定义方式为ANSI-C的函数定义方式。但是在C语言之父创立C语言之时,函数的定义形式并非现在我们所见到的形式。下面的代码显示了这样的差别,注意观察二者在声明与函数体签名上的差别。
#include <stdio.h>#include <stdlib.h>/*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两种函数定义风格
- ANSI和K&R两种函数定义风格
- C语言在函数名与函数体之间定义变量--K&r C和ANSI C两种风格的函数声明和定义
- 遇到了K&R 风格 和 ANSI 风格 导致 原型提升问题
- ANSI C和K&R C(转载)
- K&R C与ANSI C函数声明的区别
- K&R风格VSMS风格
- K&R风格VSMS风格
- vim缩进K&R和GNU代码风格(转)
- unix K&R编码风格
- ANSI C 与 K&R C
- ANSI C 与 K&R C
- ANSI C 与 K&R C
- ANSI C 与 K&R C
- ANSI C与K&R C概要
- ANSI C 与 K&R C
- C和指针——K&R C 与 ANSI C的区别
- k&R scanf 函数
- Android软件开发之ListView 详解
- 【笔试or面试】金山西山居2014校招笔试题
- c# 数据库基础(将连接字符串写到配置文件中)
- java链接数据库代码
- 六款常用的linux C/C++ IDE
- ANSI和K&R两种函数定义风格
- OpenGL Transformation
- linux字符设备驱动程序
- 黑马程序员 【Head Firs Java (中文版)阅读笔记】 1章、2章、3章
- 内存_内存管理的不同阶段
- JavaScript 笔记
- 又一个lua与C++粘合层框架
- input 选择图片文件后显示图片文件
- 使用GPS如何在软件和操作层面上实现快速高精度的定位?