有人可以解釋爲什麼*(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