首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C中的宏常量和常量变量有什么区别?

在C语言中,宏常量和常量变量是两种不同的概念。

  1. 宏常量(Macro Constants): 宏常量是通过预处理指令#define定义的符号常量。它们在编译之前被替换为其对应的值。宏常量没有类型,仅仅是简单的文本替换。它们的定义通常位于头文件中,以便在整个程序中使用。

区别:

  • 宏常量没有类型,仅仅是文本替换,不会分配内存空间。
  • 宏常量在编译之前被替换为其对应的值,因此在编译时期就已经确定了。

示例:

代码语言:c
复制
#define PI 3.14159
#define MAX(a, b) ((a) > (b) ? (a) : (b))

float radius = 5.0;
float area = PI * radius * radius;
int maxNum = MAX(10, 20);

推荐的腾讯云相关产品和产品介绍链接地址:

  1. 常量变量(Constant Variables): 常量变量是在程序运行时不能被修改的变量。它们在定义时被赋予一个固定的值,并且在整个程序的执行过程中保持不变。常量变量可以有不同的类型,如整数、浮点数、字符等。

区别:

  • 常量变量有类型,并且在内存中分配了空间。
  • 常量变量的值在程序运行时是不可修改的。

示例:

代码语言:c
复制
const int MAX_NUM = 100;
const float PI = 3.14159;

int age = 25;
const int *ptr = &age;  // 指向常量的指针,指针所指向的值不可修改

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

15分48秒

第十八章:Class文件结构/15-常量池表中的字面量和符号引用

-

即将商用的5G消息,你了解多少?它和普通的5G有什么区别? 中

6分6秒

普通人如何理解递归算法

11分33秒

061.go数组的使用场景

2分32秒

052.go的类型转换总结

1分7秒

REACH SVHC 候选清单增至 235项

14分35秒

Windows系统未激活或key不合适,导致内存只能用到2G

领券