C中的通用关键字?
众所周知,宏是在C或C++中使用的,但是没有类型检查的工具。宏可以在其中接受任何类型的参数。以下示例将清楚地说明这种情况。
示例
#include<stdio.h>
#define INCREMENT(X) ++X
main() {
int x = 5; float y = 2.56; char z = 'A';
printf("Integer Increment: %d\n", INCREMENT(x));
printf("Float Increment: %f\n", INCREMENT(y));
printf("Character Increment: %c\n", INCREMENT(z));
}输出结果
Integer Increment: 6 Float Increment: 3.560000 Character Increment: B
那就是宏的问题。在更高版本的C中,我们可以通过使用'_Generic'关键字来使用宏。使用此方法,我们可以使用不同类型的数据类型定义宏。让我们来看一个例子。
示例
#include<stdio.h>
#define INCREMENT(X) _Generic( (X), char: X+10, int: X+1, float: X+2.5, default: 0)
main() {
int x = 5; float y = 2.56; char z = 'A';
printf("Integer Increment: %d\n", INCREMENT(x));
printf("Float Increment: %f\n", INCREMENT(y));
printf("Character Increment: %c\n", INCREMENT(z));
}输出结果
Integer Increment: 6 Float Increment: 5.060000 Character Increment: K
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短