指標強制問題,關於指標強制

發布 科技 2024-06-09
5個回答
  1. 匿名使用者2024-01-29

    派生類可以轉換為基類,因為派生類本身有基類的成員,所以不需要強制轉換,這就是為什麼派生類的指標和引用可以轉換為基類的指標和引用,而基類的指標和引用只能訪問基類的成員, 即型別轉換的向上強制。

    class player

    class gameplayer : public player

    gameplayer* pgameplayer=new gameplayer();

    player* pplayer=pgameplayer;

    但反之則不然,因為基類只有自己的成員,而不是派生類的成員,因此不可能強制向下進行型別轉換。

    但是 gameplayer* pgameplayer = (gameplayer*)pplayer; 雖然這種方法可以編譯,但以後使用很危險,而且非常容易出錯1

    尋求滿足。

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

    這個 a 實際上是乙個堆疊位址,在編譯時直接替換為固定值。 預設情況下,Linux 下層堆疊位址從0xc0000000遞減,最高位數為 1,直接列印為負數。

    這種力轉換其實隱藏了乙個問題,如果 A 不是 4 位元組對齊的,在某些 CPU 架構中,將力轉換為 INT 會有問題。

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

    a[0] 的值是 0x61,a[1] 的值是 0x62,其餘的都是 0x00,所以用 int 指標強行旋轉你的 ptr 後,*ptr 的值是 0x6162 的,即 25185,至於第二個,它應該是乙個隨機數,它會根據 ic 的位址而變化。

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

    強制轉換的乙個效果是更改指標操作的擴充套件和收縮。

    例如,如果 p 是 char* 型別的溶解指標,並且其值為 p,則表示式。

    int *)p + 7 = p + 28

    因為 int 占用 4 個位元組,而 char 只占用 1 個位元組。

    然而:int *)p + 7) = p + 7,因為 castout 優先於加法。

    ps:

    指標 + i,表示新增 i 個單元格,即新增 i * sizeof(指標本身刪除乙個 *)位元組:

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

    所有型別的資料都儲存在記憶體中,並以二進位格式儲存。 記憶體中只有 0 和 1,我不知道它是什麼型別。

    int、char、short 屬於整數,它們的儲存方式(將數字轉換為二進位並放入記憶體的方式)相同,但記憶體網格的大小不同(稱為二進位相容格式); 浮子和雙倍的儲存方式各不相同,它們與整形更不同。

    int a=5;,編譯器給 a 分配 4 個位元組的空間,根據 int 型別的儲存方式將 5 個位元組轉換為二進位檔案,並儲存在 a 對應的記憶體空間中(a 為左值); 當 printf 列印 a 時,a 做右值,printf 內部的 vsprintf 函式會根據格式化字串 (%d, %f) 表示的型別解析 a 對應的記憶體空間,解析後的值用於輸出。

    C 語言資料型別的本質是確定數字如何儲存在記憶體中,以及如何將數字轉換為二進位。 記憶體只儲存 1010 序列,而不管 1010 是如何解析的。 我們被要求不要在資料型別上胡鬧。

    int short char 型別相容,int float dobule 資料型別不相容。

    指標的本質是變數,指標是指標變數。

    指標涉及兩個變數:乙個用於指標變數本身,另乙個用於指標變數指向的變數。

    int *p;:定義指標變數時,p 的型別為 int,p(p 指向的變數)的型別為 int。 int * 是指標型別,只要指標型別為 4 個位元組,解析方法就根據 address 方法進行說明(即其中儲存的 23 個二進位檔案加起來代表乙個記憶體位址)。

    指標型別對於指標指向的變數很重要。 指標指向的變數型別取決於指標型別。

    指標強制轉換是有風險的

    int 和 char 型別都是整數且相容的,有時強制轉換型別是錯誤的,有時是錯誤的。 int 有兩個位元組,只有乙個 char,int 可以表示的範圍大於 int,超出範圍後,int 會轉給 char 並出現錯誤。 char 到 int (127)。

    短邊也有兩個位元組的範圍,無論它大於 char 還是小於 int (65535)。

相關回答
15個回答2024-06-09

首先,我想說的是,二維陣列和一維陣列有很大的區別,所以請不要用一維陣列來理解二維陣列。 >>>More

18個回答2024-06-09

#include

int main() >>>More

14個回答2024-06-09

這其實是可以理解的。

只需將 %s、%c、%p 放在一起即可。 >>>More

10個回答2024-06-09

在這件事情上,首先房東不要太擔心,因為對方的車是有強制保險的,不管車主能不能找到,只要有車牌號,就能找到對方的保險公司。 >>>More

5個回答2024-06-09

法律分析:執行。 被執行人未按照執行通知履行法律檔案約定義務的,人民法院有權查詢被執行人的存款、債券、股份等財產。 >>>More