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 许可协议。转载请注明来自 洛屿的小站!
评论

