当前位置: 首页 > news >正文

网站建设的实训心得聚名网官网登录

网站建设的实训心得,聚名网官网登录,新郑市网站建设定制开发,顺德网站建设公司函数定义 函数体就是一个代码块,它在函数被调用时执行。 类型 函数名(形式参数) 代码块 与函数定义相反,函数声明出现在函数被调用的地方。 函数声明 编译器是如何知道该函数期望接受的是什么类型和多少数量的参数。 原型 int *find_int( int key…

函数定义

函数体就是一个代码块,它在函数被调用时执行。

类型
函数名(形式参数)
代码块

与函数定义相反,函数声明出现在函数被调用的地方。

函数声明

编译器是如何知道该函数期望接受的是什么类型和多少数量的参数。

原型
int *find_int( int key, int array[1, int len);

原型告诉编译器函数的参数数量和每个参数的类型以及返回值的类型。

编译器见过原型之后,就可以检查该函数的调用,确保参数正确、返回值无误。

C 语言编程中,最好函数原型声明放在头文件中,通过 #include 指令将其包含到多个源文件中,

(1)减少代码冗余,如果每个地方都手动输入函数原型,可能会导致不同地方的原型不一致,进而导致编译错误或运行时错误。

(2)修改方便。当函数的定义发生变化时,如果原型分散在各个地方,则需要在所有地方进行相应的修改,这既耗时又容易出错。将函数原型放在头文件时,函数需要修改,只需在一个地方进行修改,然后重新编译所有引用了该原型的文件。

函数的参数

C 函数的所有参数以"传值调用"方式进行传递,函数将获得参数值的一份拷贝,函数修改这个拷贝值,不会修改调用程序实际传递给它的参数。

如果传入数组,相当于传入一个指针,可以直接修改数组的元素。数组名的值实际上是一个指针,传递给函数的就是这个指针的一份拷贝。下标引用 实际上是 间接访问的另一种形式,可以对指针执行间接访问操作,访问指针指向的内存位置,参数(指针)实际上是一份拷贝,但在这份拷贝上执行间接访问操作所访问的是原先的数组。

ADT和黑盒

C可以使用static限制函数和数据的作用域(黑盒设计)。在设计模块的时候,隐藏的细节比如函数和数据结构如果不想让其他模块访问,可以加上static关键字。使用模块的用户不需要知道模块实现的任何细节,只能访问模块提供的接口。

递归

C通过运行时堆栈支持递归函数的实现。递归函数就是直接或间接调用自身的函数。但是在简单的任务钟,递归的效率不如迭代。比如斐波拉契数列最好使用for循环实现。

可变参数列表

函数可以接受一个不定长的参数列表

stdarg 宏

va_list: 一个类型,用来存储可变参数列表的信息。

va_start: 宏va_start用于初始化 va_list 类型的变量,它接受两个参数:第一个是要初始化的 va_list 类型的变量;第二个是省略号前的最后一个固定参数。

va_arg: 宏va_arg 用于获取下一个可变参数的值。它同样接受两个参数:第一个是 va_list 类型的变量;第二个是参数的类型。

va_end: 宏va_end 用于清理 va_list 类型的变量,确保资源得到释放。

#include <stdarg.h> // 引入 stdarg.h 头文件
#include <stdio.h>  // 引入 stdio.h 头文件
// 定义一个打印可变参数列表的函数
void print_varargs(const char *prefix, ...) {// 定义一个 va_list 类型的变量来保存可变参数列表的信息va_list args;// 使用 va_start 初始化 args 变量va_start(args, prefix); // 第二个参数是省略号前的最后一个参数// 访问可变参数列表中的每一个参数 
while (1) {// 尝试获取一个 int 类型的参数int arg = va_arg(args, int);  // 如果取到的参数是 0,那么认为参数列表已经结束(这里假设所有参数非零)if (arg == 0) {  break;}        // 打印参数 printf("%s%d\n", prefix, arg);}// 使用 va_end 完成对可变参数列表的处理va_end(args);
}
int main() {// 调用 print_varargs 函数,传入一个前缀字符串和一些整数参数print_varargs("Value: ", 10, 20, 30, 0); // 注意,这里的 0 用来标志参数列表的结束    return 0;
}

http://www.hkea.cn/news/797203/

相关文章:

  • 做愛視頻网站在线网页制作网站
  • 织梦pc怎么做手机网站搜索引擎优化的基础是什么
  • 课程建设网站设计源码爱站网反链查询
  • 安徽省建设业协会网站个人网页制作教程
  • 好的摄影网站推荐福州seo顾问
  • html做的好看的网站如何宣传推广产品
  • 微信手机网站制作怎么引流客源最好的方法
  • 宿州建设网站公司前端seo搜索引擎优化
  • 做王境泽表情的网站百度seo关键词优化排名
  • 怎么选择无锡网站建设虚拟主机搭建网站
  • 做原油期货关注什么网站搜索引擎优化是做什么
  • 微信小程序怎么制作游戏安卓优化清理大师
  • 胶南做网站初学者做电商怎么入手
  • 网站为什么要维护佛山网络营销推广
  • 国企网站建设报告怎么建造自己的网站
  • 免费做司考真题的网站余姚网站如何进行优化
  • 如何网站开发1688网站
  • 丽水专业网站建设价格青岛网站优化
  • 网站开发专业培训学校百度推广登录官网入口
  • 贵阳做网站公司网站热度查询
  • 做课件最好的素材网站考拉seo
  • 网站建设玖首选金手指seo网站优化收藏
  • 台州卓远做网站好不好广州seo教程
  • dz网站数据备份bt磁力猪
  • github 可以做网站吗360seo
  • 杭州 企业门户网站建设爱链
  • dj那个网站做的好长沙公司网络营销推广
  • 设计师培训招生视频黑帽seo联系方式
  • 做网上贸易哪个网站好西宁网站seo
  • 电子烟网站建设杯子软文营销300字