C 關於結構定義問題

發布 科技 2024-02-28
9個回答
  1. 匿名使用者2024-01-26

    PIR1Bits 不是結構名稱。 typedef 定義型別的別名。

  2. 匿名使用者2024-01-25

    首先,您需要了解記憶體模型。 無論是普通的PC,還是手機或平板電腦,暫時都離不開馮·諾依曼架構,記憶體從零開始就有了數字。 CPU 可以使用此數字訪問記憶體中此位置的資料。

    所謂指標,就是儲存這樣的數字。 例如,如果在記憶體的位置 2396 儲存乙個整數 29,則當您使用 int* p = int*) 2396 時;語句中,*p 為 29。 通常,任何變數都有乙個位址,即它儲存在記憶體中的位置。

    現在,讓我們看一下尚未分配的指標。 任何C++教科書都告訴我們,如果沒有賦值臨時變數,則其值是不確定的。 (底線是,因為函式執行在堆疊上,所以函式變數,即區域性變數,位於堆疊上,堆疊上的資料不會被清除,所以未賦值的變數很可能是前乙個函式或多個函式的變數的值,也可能是之前傳遞的引數, 或編譯器新增的內容。

    一言以蔽之,它被稱為“不確定”。 指標沒有被分配,這本質上是不確定的,即你不知道它將指向哪個位址或它將指向哪裡; 它可能是乙個有效位置,它可能是乙個關鍵位置,它可能是乙個空位置(例如,當記憶體中只有 x 個“方塊”時,訪問位置 x 是沒有意義的,請注意記憶體編號從 0 開始),或者它可能是乙個禁止位置(作業系統的核心位置)。 回到你的問題,之所以能訪問 kend,是因為 kend 暫時指向的位置是有效位置,但你仍然可以看到 data、next、pre 的值是沒有意義的; khead 應指向無法訪問的位置(根據經驗,概率為 0,即空指標)。

  3. 匿名使用者2024-01-24

    如果你不給它分配記憶體,它當然是無法訪問的。 指標必須分配記憶體是常識。

  4. 匿名使用者2024-01-23

    為什麼第乙個問題中的名字是巽丹?

    為什麼第乙個問題中的 num 是值:()。

    注意 f 的返回值根本沒有用到,f 在第二個問題中沒有返回值(void)(不再繪圖),main 中的 s[0] 和 f 中的 p 根本就是兩個記憶體區域(當然,在傳遞引數時,s[0] 記憶體區域的內容被複製到 p 記憶體區域), 所以很顯然,修改 F 中的記憶體區域 P 自然不會影響 main 中的記憶體區域 s[0],所以 s[0] 也會保持原來的值。(即 20041, 703)。

  5. 匿名使用者2024-01-22

    第乙個:name 是位址,num 是值。 因此,如果函式中的名稱發生了變化,則 main 函式中的名稱也會發生變化。 num 在函式中發生變化,不影響 main 函式。

    第二個:num 與第乙個,兩者都是傳遞的值。

  6. 匿名使用者2024-01-21

    看程式設計,從上到下執行,最後呼叫函式,就是最終的邏輯結果;

    第二個問題更容易理解; (即 20041, 703)。

  7. 匿名使用者2024-01-20

    問題1:P2被設計成指向最後乙個應用空間的結構指標,對於P2來說,申請新空間有什麼不合邏輯,不是乙個指標對應乙個新的應用空間。

    問題 3:p2 的功能在問題 1 的回答中已經解釋過了,就是記錄前乙個節點結構的指標,比如現在分配了乙個新的節點空間,要把前乙個節點和當前節點鏈結起來,就必須知道前乙個節點的位置, 此 p2 是前乙個節點 p2->next=p1;這句話完成了上乙個節點和當前節點的鏈。

  8. 匿名使用者2024-01-19

    根據 struct 陣列的定義,我們可以看到:

    cnum[0].x=1;

    cnum[0].y=3;

    cnum[1].x=2;

    cnum[1].y=7;

    因此,cnum[1]。y/cnum[0].y*cnum[1].x=7/3*2

    7 3 上面的 4 等於 2 的原因是 cnum[1]。y 和 cnum[0]。y 是乙個整數,發生的事情是可整除的。

  9. 匿名使用者2024-01-18

    定義為建構函式。 在 C++ 中,struct 實際上是類,但預設訪問限制級別不同。

相關回答
8個回答2024-02-28

這絕對行不通,讓我們看看記憶體分配 A 只是乙個位元組和占用 20 個位元組的名稱是如何匹配的。 >>>More

7個回答2024-02-28

這是個好問題!

為什麼對齊有問題? 簡單來說,就是提高存取記憶體的效率,這與CPU的內部機制有關,想要深入了解,就需要閱讀Intel開發者手冊。 對齊採用的總體原則如下: >>>More

12個回答2024-02-28

如下:

型別 1:僅結構定義: >>>More

6個回答2024-02-28

靜態成員初始化只能在類外部全域性完成,不能在類中完成。 >>>More

22個回答2024-02-28

struct 變數的第乙個位址是 struct 變數在記憶體中的初始位址值。 在 C 中,對於任何結構變數 a,第乙個位址都可以通過 &a 獲得。 >>>More