例如,我在頭檔案中有以下結構定義;編輯:所有這些都在 C 中。
struct characterPlayer
{
int pozPx;
int pozPy;
};
以及函式定義:
void caracterMoveDown(struct characterPlayer &player1.pozPx,struct characterPlayer &player1.pozPy);
當我嘗試編譯時出現以下錯誤:
“錯誤:預期的‘,’或‘...’在‘。’之前 令牌”
我在某處做不可能的事嗎?非常感謝你的幫助;
我試圖在標頭中初始化 player1,然后將其放入函式中……沒有成功。我想使用這些引數,因為它們將在函式中被修改,并希望保留它們將獲得的新值。這就是為什么我放 "&" ;
uj5u.com熱心網友回復:
首先,C 沒有參考,因此您不能使用&參考來獲取它們。
您可以改用指標。
如果您想將指向各個變數的指標作為引數:
void caracterMoveDown(int *pozPx, int *pozPy) {
*pozPx = ...;
*pozPy = ...;
}
int main(void) {
struct characterPlayer foo;
caracterMoveDown(&foo.pozPx, &foo.posPy);
}
如果要獲取指向整個結構的指標:
void caracterMoveDown(struct characterPlayer *player1) {
player1->pozPx = ...;
player1->pozPy = ...;
}
int main(void) {
struct characterPlayer foo;
caracterMoveDown(&foo);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/537441.html
標籤:C数据结构结构
上一篇:如何索引C中的堆分配矩陣?
