gpt4 book ai didi

c - c中的typedef和#define是一样的吗?

转载 作者:太空狗 更新时间:2023-10-29 16:14:40 24 4
gpt4 key购买 nike

我想知道 typedef#define 中是否相同?

最佳答案

typedef 像变量一样遵守作用域规则,而 define 保持有效直到编译单元结束(或直到匹配的 undef) .

此外,有些事情可以用 typedef 完成而不能用 define 完成。
例如:

typedef int* int_p1;
int_p1 a, b, c; // a, b, c are all int pointers

#define int_p2 int*
int_p2 a, b, c; // only the first is a pointer, because int_p2
// is replaced with int*, producing: int* a, b, c
// which should be read as: int *a, b, c
typedef int a10[10];
a10 a, b, c; // create three 10-int arrays
typedef int (*func_p) (int);
func_p fp; // func_p is a pointer to a function that
// takes an int and returns an int

关于c - c中的typedef和#define是一样的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1666353/

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