Skip to main content

moregeek program

【c语言】函数的声明和定义_謓泽的博客-多极客编程

🚩write in front🚩   

🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎

🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 星级博主~掘金⇿InfoQ~51CTO创作者[新人创作榜No.11]~周榜109﹣总榜1024⇿全网访问量40w+🏅

🆔本文由 謓泽 原创 发布在51CTOP 如需转载还请通知⚠


📝个人主页-
​謓泽51Ctop的博客​📃

🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝

📣系列专栏-​謓泽51Ctop的分类_51CTO博客​🎓

✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩


【C语言】函数的声明和定义_值类型

📢📢📢函数的声明和定义 

函数的声明就是告诉编译器我这里是有一个函数的,它的参数和返回类型也要告诉编译器,那么这就够了。这个时候编译器就知道你这个函数已经声明了,就不会再不知道你没有这个函数。因为我们已经告知编译器我们这个函数是实实在在是存在的。所以,编译器就不会报错!

📢函数的声明组成

  • 函数的返回值类型,返回值可以是某个 C 的数据类型
  • 函数名,函数名也就是函数的标识符,函数名在程序中必须是唯一的。因为标识符,所以函数名也要遵守表示符的一个命名规程。
  • 参数列表,参数列表可以没有变量也可以有多个变量,在进行函数调用时候,实际参数将被复制到这些变量当中。
  • 分号 ④部分组成其形式如下:
  • 返回值类型    函数名(参数列表)
  • 此处要注意的是:声明的最后要用到分号";"作为语句的结束标志!
  1. 函数的定义就是在创建这个函数!
  2. 函数的声明就是在告知编译器我有这个函数!
  3. 注意:声明只是告诉你有没有这个函数,真正取决于是函数的定义! 

下面的程序为大家用代码举个例子如下所示↓

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int a = 10;
int b = 20;

Add(a, b);

return 0;
}

void Add(int x, int y)
{
int z = 0;
z = x + y;
printf("ret = %d\n", z);
}

代码编译运行结果:"Add"重定义,不同类型报错!

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void Add(int x, int y);
int main(void)
{
int a = 10;
int b = 20;

Add(a, b);

return 0;
}

void Add(int x, int y)
{
int z = 0;
z = x + y;
printf("ret = %d\n", z);
}

🖊运行结果↓

ret = 30

从上面代码不同的编译结果我们就可以看出有函数的声明和无函数声明的一个区别!

说明:当然如果你把函数的定义放在主函数前面这个时候我们函数的声明其实都是无所谓的,因为我们的编译器都是从前往后开始的执行的。因为我编译器在前面已经见过了你这个函数是存在的。那么在主函数调用你这个函数自然而然是一点问题都是没有的。

静态库

【C语言】函数的声明和定义_编译器_02

可以实现把某个源文件.c删除就好比上述的sub.c但是只要导入头文件并且声明.h在主函数当中却依旧可以运行程序并且实现sub函数的功能。 


©著作权归作者所有:来自51CTO博客作者謓泽51Ctop的原创作品,请联系作者获取转载授权,否则将追究法律责任

【c语言】【指针】将数组中n个整数按相反顺序存放_c/c++的博客-多极客编程

#include <stdio.h> int main() { void inv(int x[],int n);      //inv函数声明//   int  i,a[10] = {3,5,7,9,2,3,0,1,6,4};  //定义数组,注意不要溢出,元素可以自定义//   printf("The array has been inverted:\n"); for(i = 0

练习题_江湖良人的博客-多极客编程

1.求两个数的最大公约数#include<stdio.h>int main(){ int a=1; int b=2; int r=0; scanf("%d%d",&a,&b); while(r=a%b) //辗转相除法 { a=b; b=r; } printf("%d\n",b);return 0;}2.打印1000年-2000年的闰年

c语言动态内存管理_158shi的博客-多极客编程

在学习和使用C语言的过程中经常要编写管理内存的程序,往往提心吊胆。若是不想踩雷,唯一的办法就是深入理解内存管理,发现所有的陷阱并排除他们。内存的使用方式内存主要有三种分配方式:(1)在栈(Stack)上创建。可以在栈区创建数个局部变量或者局部数组。函数结束执行时这些内存被自动释放。(2)从静态区(Static)分配。在静态区创建全局变量,static修饰的变量和常量字符串都在静态区存储。这些内存在

1:unit test and main function-java api 实战_wx636d0c5e64939的博客-多极客编程

(目录) 1. 抛出企业问题,脱离main测试,模块化编程 main方法是什么? main方法就是进入程序的一扇门,而这个门只负责开和关,打开门可以实现某些功能,但这些功能只由门里面的东西来决定,而不是门 main是一个程序的入口点,而不应该是处理逻辑或者功能模块的点,main方法中的语句不应该有逻辑性的语句,而且代码应该是非常之少的,更复杂的东西不应该出现在main里,应该抽离main /

【c语言】函数的嵌套、函数的递归、递归是什么?递归两个必要条件。_謓泽的博客-多极客编程

🚩write in front🚩   🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 星级博主~掘金⇿InfoQ~51CTO创作者[新人创作榜No.11]~周榜393﹣总榜1024⇿全网访问量40w+🏅 🆔本文由 謓泽 原创 发布在51CTOP 如需转载还请通

qwt开发笔记(一):qwt简介、下载以及基础demo工程模板_长沙红胖子qt的博客-多极客编程

前言   QWT开发笔记系列整理集合,这是目前使用最为广泛的Qt图表类(Qt的QWidget代码方向只有QtCharts,Qwt,QCustomPlot),使用多年,系统性的整理,本系列旨在系统解说并逐步更新其各种Demo示例。 <br> 注意   本文章介绍的版本为Qwt6.2.0,该版本为2021年7月左右发布的。 <br> 多年前文章   (本篇不再整理了)   《Q

csv__02--使用csv库对每条商品求平均评分_月同学不写bug的博客-多极客编程

1.CSV概念 逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录

【c语言】【指针】将数组中n个整数按相反顺序存放_c/c++的博客-多极客编程

#include <stdio.h> int main() { void inv(int x[],int n);      //inv函数声明//   int  i,a[10] = {3,5,7,9,2,3,0,1,6,4};  //定义数组,注意不要溢出,元素可以自定义//   printf("The array has been inverted:\n"); for(i = 0

一文了解 go 标准库 strconv:string 与其他基本数据类型的转换_wx6372efec77838的博客-多极客编程

耐心和持久胜过激烈和狂热。哈喽大家好,我是陈明勇,今天分享的知识是 Go 标准库 —— strconv。如果本文对你有帮助,不妨点个赞,如果你是 Go 语言初学者,不妨点个关注,一起成长一起进步,如果本文有错误的地方,欢迎指出!前言上篇文章 ​​一文了解 Go 标准库 strings 常用函数和方法​​​ 介绍了 ​​strings​​​ 标注库里的一些常用的函数和方法,本文也是以 ​​strin

冥冥之中已注定,serverless的出现不是偶然_周杰伦本人的博客-多极客编程

冥冥之中已注定,Serverless的出现不是偶然 坚持原创,写好每一篇文章 设想一下,如果老板让你做一个淘宝网站,你会从哪些方面入手呢? 物理机 你可能会想买个服务器物理机,然后通电连网,按照操作系统、数据库、各种环境,部署淘宝,测试上线。 那么问题来了,万一停电断网了呢? 你可能会说我交给电信机房,机房不会动不动就停电吧。 虚拟机 那服务器坏了怎么办?你有没有想过服务器给你带了硬件,网络等

spring cloud gcp(五)_spring认证的博客-多极客编程

15.4. Firestore 操作和模板​​FirestoreOperations​​及其实现提供了 Spring 开发人员熟悉的模板模式。​​FirestoreTemplate​​使用 Spring Data Cloud Firestore 提供的自动配置,Spring 应用程序上下文将包含一个完全配置的对象,您可以在应用程序中自动连线该对象:​​FirestoreTemplate​​@Spr

spring cloud gcp(四)_spring认证的博客-多极客编程

14. 弹簧数据云数据存储此集成与数据存储模式下的 Firestore 完全兼容,但与本机模式下的 Firestore 不兼容。Spring 数据是用于在众多存储技术中存储和检索 POJO 的抽象。 Spring Cloud GCP 在数据存储模式下为Google Cloud Firestore添加了 Spring Data 支持。Maven 仅使用此模块的坐标,使用Spring Cloud GC