#define在CAPL与C语言中的应用
#define是预编译,又叫预处理,即该操作是在预处理阶段由系统自动完成的,在运行时是不分配内存,不占用内存空间。在C语言中常用#define定义标志符来表示一个常量,如
#define Max 9
其特点是: 定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了.
(C语言中以“#”开头的都是预处理指令)
#define的这种定义方式表示的常量包括数字、字符、字符串、表达式
##1.以下来看看C语言中几种常见的用法
(1)#define定义标志符为常数
-
include <stdio.h>
-
define NUM 5
- int main(void)
- {
- int i, j = NUM;
- int a[NUM] = {0};
- printf(“请输入%d个数:”, j);
- for (i=0; i<NUM; ++i)
- {
- scanf("%d", &a[i] );
- }
- for (i=0; i<NUM; ++i)
- {
- printf("%d\x20", a[i]);
- }
- printf("\n");
- return 0;
- }
原理在于:#define没有数据类型,在预编译阶段已将NUM替换成5(整形),供编译阶段使用。
(2)#define的函数定义
#define max(x,y) (x)>(y)?(x): (y)
(3) #define的条件宏定义
#ifndef headerfileXXX
#define headerfileXXX
(4)#define的指针型定义
#define Pin (int*)
Pin a,b;//a是int*,而b是int型
欲使a,b都是整形指针类型,可采用:
Typedef pin (int *)
Pin a,b;
通过以上几种常见用法,我们不难看出,通过宏定义的使用,我们对于一些在工程中多次用到的常量,通过宏定义来替换,可以提高工程的可移植性。
2.CAPL中#define的用法
与C/ c++不同,#define没有宏定义。不能给该常量赋值,也不能在#if/#elif外部使用该常量。主要用法如下:
variables
{
#define DEBUG_OUTPUTS
}
on message EngineState
{
#if DEBUG_OUTPUTS
if (this.State == 3)
{
write(“State 3 reached”);
}
#endif
}
因此在CAPL中想用标志符来表示一个常量明显是行不通的,(虽然习惯了)还是老老实实用枚举或者const int 替换吧
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。1
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎