1、static inline,是不是等于static呢??

2、#define vs typedef
#define 新 源
typedef 源 新

3、声明 vs 定义
声明可以多次,定义只有一次。函数和变量情况不同。

//针对变量时:除非有extern关键字,否则都是变量的定义。
extern int i; //声明
int i; //定义          

//针对函数时:带有{ }的就是定义,否则就是声明。
extern int max(int a1,int a2);  //声明
int max(int a1,int a2);  //声明。函数默认就是extern的,所以不带extern也是声明,这与变量不同。

参考:https://blog.csdn.net/u013354678/article/details/103460178

4、c函数可以重名吗?

(1)C语言可以函数重载吗?
answer:可以实现。我参考了几种说法。

1,C语言不支持函数重载。同一作用区域不可以有函数重名,但不同作用区域中允许函数重名。不同作用区域可以通过在不同文件中使用static实现。
2,实现 C 的函数重载呢,比较通用的做法是利用 C 的可变参数va_args。
原文链接:https://blog.csdn.net/Brouce__Lee/article/details/91814233

(2)C的作用域
按照程序的基本数据存储空间,静态区,栈,堆。可以分为三种不同的scope。

显然,常量跟全局变量、静态变量是在一个scope,参数跟局部变量也在一个scope里。

而全局变量跟局部变量不在一个scope里面。所以当然可以使用相同的名字。

posted on 2022-03-06 18:15  西伯尔  阅读(65)  评论(0)    收藏  举报