gpt4 book ai didi

C语言真的可以重新定义关键字吗?

转载 作者:太空宇宙 更新时间:2023-11-04 05:25:51 26 4
gpt4 key购买 nike

你能解释一下下面的代码吗?我们如何使用 #define 作为 C 的关键字?

#include <stdio.h>
#define int int*
int main(void) {

int *p;
int q;
p = 10;
q = 5;
printf("%d %d", p, q);
// your code goes here
return 0;
}

输出:

10 5

最佳答案

这个#define int int* 是一个预处理器宏。如果您想为类型定义自己的同义词,请使用typedef。您不能使用非您创建的语言创建关键字。

示例:

#include <stdio.h>
typedef int * myIntPtr;

int main(void) {

int i = 10;
myIntPtr x = &i;
printf("%d", *x);
return 0;
}

输出:

10

从语义上将 int 转换为 int * 也是没有意义的。

关于C语言真的可以重新定义关键字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28059401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com