C语言学习相关
函数递归
函数递归,简单的理解就是,自己调用自己,直到遇到边界条件,停止递归
比如我们想实现一个阶乘函数
1 |
|
define和const的区别
define:
define
是一个预处理指令,通常在 C 和 C++ 这类编程语言中使用。- 它用于定义编译时常量,这意味着在编译程序之前就将其值固定下来。
define
通常用于创建符号常量(宏常量),例如:1
#define MAX_VALUE 100
- 这样的定义会在编译时进行文本替换,将所有出现
MAX_VALUE
的地方替换为100
,没有变量类型或内存分配。
1 |
|
在这个示例中,MAX_VALUE
被定义为 100
,并且在 main
函数中将其赋值给变量 x
。当编译此代码时,预处理器会将 MAX_VALUE
替换为 100
,因此在编译后的代码中,int x = MAX_VALUE;
实际上变成了 int x = 100;
。这样,编译后的程序中不再存在 MAX_VALUE
符号,而是直接包含了 100
的值。
const:
const
是一种变量修饰符,通常在多种编程语言中使用,包括 C++, C#, JavaScript 等。- 它用于创建不可变的量,也就是常量。
const
变量在运行时具有类型和内存分配,通常存储在内存中,但其值无法被修改。- 例如,在 C++ 中:
1
const int MAX_VALUE = 100;
- 这样的定义创建了一个整数常量,不能在后续代码中修改
MAX_VALUE
的值。
1 |
|
在这个示例中,MAX_VALUE
被定义为整数常量 100
,并且在 main
函数中将其赋值给变量 x
。
如果你尝试在后续代码中修改 MAX_VALUE
的值(例如,MAX_VALUE = 200;
),编译器将报错,因为MAX_VALUE
被声明为const
,这意味着它是不可修改的常量。
所以,使用const
关键字可以确保变量的值在后续代码中不会被修改。
define
和const
的主要区别在于:
define
用于创建编译时常量,没有变量类型和内存分配,只是文本替换。const
用于创建运行时常量,具有变量类型和内存分配,但其值无法被修改。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 洛屿的小站!
评论