函数(C语言的核心)
专题六:函数(C语言的核心)。包括以下章节:
- 认清函数的真面目
- 可变参数列表
- 李逵和李鬼
- 函数调用行为
- 函数递归详解
- 函数设计技巧
函数设计技巧
- 不要在函数中使用全局变量;尽量让函数从意义上是一个独立的功能模块
- 参数名要能够体现参数的意义
例1:void str_copy (char *str1, char *str2);
例2:void str_copy (char *str_dest, char *str_src); - 如果参数是指针,且仅作输入参数用,则应在类型前加 const,以防止该指针在函数体内被意外修改
例子:void str_copy (char *str_dest, const char *str_src); - 不要省略返回值的类型,如果函数没有返回值,那么 应声明为void类型
- 在函数体的“入口处”,对参数的有效性进行检查,对指针的检查尤为重要
- 语句不可返回指向“栈内存”的“指针”,因为该内存在函数体结束时被自动销毁
- 函数体的规模要小,尽量控制在80行代码之内
- 相同的输入应当产生相同的输出,尽量避免函数带有“记忆”功能
- 避免函数有太多的参数,参数个数尽量控制在4个以内
- 有时候函数不需要返回值,但为了增加灵活性,如支持链式表达,可以附加返回值
- char s[64];
- strlen(strcpy(s, “android”));
- 函数名与返回值类型在语义上不可冲突
- char c;
- c = getchar();
1579

被折叠的 条评论
为什么被折叠?



