簡體   English   中英

與C語法混淆(與指針和&符有關)

[英]Confusion with C syntax (relating to pointer and ampersand)

通過這個網站http://c.learncodethehardway.org/book/ex17.html ,我現在正在學習C編程,現在我試圖理解那里寫的代碼。 因此,我知道基本指針以及與之相關的所有東西,至少我是這樣認為的。

我從上面的URL想到了以下代碼(下面的代碼已簡化):

void Database_get(struct Connection *conn, int id)
{
    struct Address *addr = &conn->db->rows[id];
}

上面代碼的右側表示&(conn->db->rows[id])(&conn)->db->rows[id]嗎? 從我的角度來看,它意味着&(conn->db->rows[id]) 抱歉,這是基本的東西。 仍在學習中。 已經嘗試向Google投放這些東西,但似乎找不到。

提前致謝。

您要查找的概念是運算符優先級 在C和C ++中, ->[]優先級高於& 此外, ->[]具有從左到右的關聯性,因此按以下順序解析:

&(((conn->db)->rows)[id])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM