小编use*_*382的帖子

typedef在C中存储指针

指针的大小取决于机器的拱形.

所以sizeof(int*)= sizeof(int)或sizeof(int*)= sizeof(long int)

我希望有一个自定义数据类型,它是int或long int,具体取决于指针的大小.

我试图使用宏#if,但宏的条件不允许sizeof运算符.

另外,当使用if-else时,typedef仅限于if的范围.

if((sizeof(int)==sizeof(int *)){
  typedef int ptrtype;
}
else{
  typedef long int ptrtype;
}
//ptrtype not avialble here
Run Code Online (Sandbox Code Playgroud)

有没有办法在全球范围内定义ptrtype?

c pointers typedef

5
推荐指数
2
解决办法
464
查看次数

标签 统计

c ×1

pointers ×1

typedef ×1