Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
CSDN 技术社区
skill_tree_c
提交
69f904a8
S
skill_tree_c
项目概览
CSDN 技术社区
/
skill_tree_c
通知
24
Star
4
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
skill_tree_c
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
69f904a8
编写于
10月 23, 2021
作者:
F
feilong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
添加内联函数
上级
e90e98d2
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
78 addition
and
3 deletion
+78
-3
data/3.C语言高阶/4.预处理器/4.条件编译/ifdef01.md
data/3.C语言高阶/4.预处理器/4.条件编译/ifdef01.md
+1
-1
data/3.C语言高阶/4.预处理器/4.条件编译/ifdef02.md
data/3.C语言高阶/4.预处理器/4.条件编译/ifdef02.md
+1
-1
data/3.C语言高阶/4.预处理器/5.内联函数/config.json
data/3.C语言高阶/4.预处理器/5.内联函数/config.json
+4
-1
data/3.C语言高阶/4.预处理器/5.内联函数/inline01.json
data/3.C语言高阶/4.预处理器/5.内联函数/inline01.json
+6
-0
data/3.C语言高阶/4.预处理器/5.内联函数/inline01.md
data/3.C语言高阶/4.预处理器/5.内联函数/inline01.md
+66
-0
未找到文件。
data/3.C语言高阶/4.预处理器/4.条件编译/ifdef01.md
浏览文件 @
69f904a8
#
使用 `#undef`
#
条件编译(1)
C语言的宏定义可以通过
`#ifdef`
,
`#else`
,
`#endif`
包含条件编译,下面输出11的程序是?
...
...
data/3.C语言高阶/4.预处理器/4.条件编译/ifdef02.md
浏览文件 @
69f904a8
#
使用 `#undef`
#
条件编译(2)
C语言的宏定义可以通过
`#ifdef`
,
`#else`
,
`#endif`
包含条件编译,下面输出10的程序是?
...
...
data/3.C语言高阶/4.预处理器/5.内联函数/config.json
浏览文件 @
69f904a8
...
...
@@ -6,5 +6,7 @@
"C语言"
],
"children"
:
[],
"export"
:
[]
"export"
:
[
"inline01.json"
]
}
\ No newline at end of file
data/3.C语言高阶/4.预处理器/5.内联函数/inline01.json
0 → 100644
浏览文件 @
69f904a8
{
"type"
:
"code_options"
,
"author"
:
"幻灰龙"
,
"source"
:
"inline01.json"
}
\ No newline at end of file
data/3.C语言高阶/4.预处理器/5.内联函数/inline01.md
0 → 100644
浏览文件 @
69f904a8
# 内联函数(1)
使用
`inline`
关键字可以标注一个函数为内联函数,但是并非所有函数都可以成为内联函数,下面正确的内联函数用法是?
可以在这里测试内联函数对应的汇编: https://godbolt.org/
## 答案
```
c
#include <stdio.h>
inline
int
add
(
int
x
,
int
y
){
return
x
+
y
;
}
int
main
(
int
argc
,
char
**
args
){
printf
(
"%d"
,
add
(
0
,
1
));
return
0
;
}
```
## 选项
### 直接定义宏字符串常量
```
c
#include <stdio.h>
inline
int
add
(
int
x
,
int
y
);
int
add
(
int
x
,
int
y
){
return
x
+
y
;
}
int
main
(
int
argc
,
char
**
args
){
printf
(
"%d"
,
add
(
0
,
1
));
return
0
;
}
```
### 两个字符串常量组合
```
c
#include <stdio.h>
int
add
(
int
x
,
int
y
);
inline
int
add
(
int
x
,
int
y
){
return
x
+
y
;
}
int
main
(
int
argc
,
char
**
args
){
printf
(
"%d"
,
add
(
0
,
1
));
return
0
;
}
```
### 宏直接拼接
```
c
#include <stdio.h>
int
add
(
int
x
,
int
y
){
return
x
+
y
;
}
int
main
(
int
argc
,
char
**
args
){
printf
(
"%d"
,
add
(
0
,
1
));
return
0
;
}
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录