c语言:声明与定义 易混淆辨析
创始人
2024-03-25 19:49:51
0

函数的声明与定义

函数的声明与定义的区分还是比较清晰的,在.c 与 .h 里面都可以做函数的声明与定义(内联函数的定义也会放在.h)

1.声明

  • <返回值数据类型> <函数名>(<参数1数据类型> <参数1> , …);
  • 无大括号。以分号“;”结束
  • 如果函数的使用在定义之前,则需要在使用之前,先声明函数

2.定义

  • <返回值数据类型> <函数名>(<参数1数据类型> <参数1> , …){…}
  • 有大括号,里面是函数功能的具体实现

函数默认都是外部的,除非加static 作用修饰关键字

变量的声明与定义

  • .h 只做声明,不做定义

局部变量的声明与定义

局部变量的声明与定义还是比较好区分

1.声明

  • <数据类型> <变量名称>;
  • 如: int val;

2.定义

  • <数据类型> <变量名称> = <值>;
  • 如: int val = 1;

注意:<变量名> = <值> 叫做赋值

全局变量的声明与定义

extern int a;//声明一个全局变量a
int a; //定义一个全局变量a
extern int a =0 ;//定义一个全局变量a 并给初值。
int a =0;//定义一个全局变量a,并给初值,

只限于本文件内使用

1.可以在.h 定义,.c 直接用,但是原则上不这样做。
2.在.c 文件,所有函数的外面定义。

加了static 修饰的变脸就只能在本文件里面用了

多个文件都使用

在一个文件的.h 中用extern 关键字修饰声明,在对应的.c文件定义,其他文件#include 包含进 .h 文件即可

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...