有人可以解释为什么*(int*) a
的工作原理?*(int *)a - 有人可以解释
还有在另一个文件如何:在这里(any.h
)
#ifndef ANY_H
#define ANY_H
typedef void * any;
#endif
代码是在另一个文件test.c
其中any.h
包括
int abcd(any j) {
k = ((struct a*)j)->b[0];
}
的作品?对于struct
这是否意味着,j
是指针?有点困惑。
我认为在你的问题中'*(int *)'有点混乱,因为你的例子是一个结构指针强制转换,然后使用' - >'而不是'*'来获得指向信息。无论谁写了“任何”字,都让每个人都变得更加艰难。 – RichardPlunkett
你可以写两行'int * xp = x;'(其中x是一个void poiner),而不是'*(int *)'指向int和'* xp'的是int * – Brandin
'*(int *)',这个例子是两个不同的东西,这就是为什么我写了“和另一个文件”应该让我自己更清楚:)。谢谢你们的帮助! – user3196556