指標變數初始化為 NULL 是什麼意思

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

    1.為什麼指標變數在定義時必須初始化?

    答:因為你必須先了解一點。 您不會分配記憶體空間來使用它。

    只有在分配後才能安全使用它,所以為什麼要初始化它。

    因為,如果不初始化它,則引用此指標並修改它指向的記憶體。

    因為指標沒有初始化,指標也是隨機的,所以是乙個百搭的指標,如果你引用了指標,改變了指標的內容,如果指標指向了另乙個程式的內容,你修改了它,就會導致另乙個程式不能正常工作。 因此,請務必在使用前對其進行初始化。

    2.當指標變數初始化為 null 時,這意味著什麼?

    答:這意味著強指標變數留空並初始化為 null,這樣它就不會指向任何內容,因此引用她不會出現上述問題。

    簡而言之,請記住在使用指標之前對其進行初始化。

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

    初始化指標 null 以初始化指向 0 的指標。

    空巨集在標準庫標頭檔案中定義。 巨集定義如下:

    #undef null

    #if defined(__cplusplus)#define null 0

    #else#define null ((void *)0)#endif

    可以看出,null 在 c++ 中是 (int)0,在 c 中是 null 是 (void*)0。 似乎 C 和 C++ 中空巨集的值略有不同。

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

    1)它不必初始化,但如果不初始化,指標就會指向乙個未知的位置,這可能是未來程式的隱患。

    2) null 表示指標為空且不指向任何位址。

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

    null 的定義是這樣的:

    定義 null ((void *)0) 不能被 0 位址訪問,因此 null 指標可以用作 0 位址。

    if(ptr != null) *確保指標已初始化*

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

    1.與普通變數一樣,指標變數可用於定義語句或賦值語句的初始化,通常可以設定為 0、null 或某個位址。 初始化指標可防止意外結果。

    2.當指標變數初始化為 null 時,這意味著指標不指向任何值。 將其初始化為 0 實際上等同於將其初始化為 null,但對於 null,0 是唯一可以直接分配給指標變數的整數。

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

    它並沒有說它必須被初始化,它可以在不初始化的情況下使用。

    初始化是為了避免使用百搭指標,當指標沒有初始化時,比如 char *p,有些編譯器會隨機給它分配乙個位址,這個位址是不可知的,為了避免不必要的麻煩,只用 null 初始化它。

    一般來說,在指標的記憶體被刪除或釋放後,將最多的 null 分配給指標,並且它所值的位址不再可用,因此需要為其賦值 null。 這樣後面的程式就更容易判斷它的記憶體是否已經**了。

    說白了,null 起到了標誌的作用,讓後面的程式可以根據這個標誌知道指標的狀態。

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

    我知道,這意味著空虛!

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

    1. *p = a 是錯誤的,因為這句話的意思就是複製合併變數 a 的值,並將其儲存在指標 p 指向的位址空間中。 但是,在初始化時,將 null 分配給指標 p,即 null 指標,因此 p 此時不指向任何位址空間,則程式無法將 a 的值放入儲存空間中,因此程式會報錯。

    2.p=&a是對的,因為俞湘是int a = 0xa5這句話**建立了乙個int變數a,並將記憶體分配給變數a,然後變數a儲存在某塊記憶體上,這個記憶體就有了位址。 然後 p=&a 將 a 的位址分配給指標 p,指標 p 指向變數 a 的位址空間。 所以這句話是對的。

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

    null 是乙個位址,這個位址的位置禁止寫入資料多年,所以 *p=a 是乙個亂碼和錯誤。

    p=&a 是給 p 目標 a 的位址,這與 *p=a 無關,你必須了解它的語義。

  10. 匿名使用者2024-01-17

    型別匹配的物件的位址。

    C++ 語言從 C 語言繼承預處理器變數 null,該變數在 cstdlib 標頭檔案中定義,值為 0。 如果在 ** 中使用此預處理器變數,則在編譯時會自動將其替換為值 0。 因此,初始化指向 null 的指標等同於初始化為值 0。

    指標只能使用 0 值 (null) 常量表示式或物件的位址進行初始化或賦值。 將 int 變數分配給指標是非法的,即使此 int 變數的值可能為 0。 但是,允許將值 0 或可在編譯時獲得的常量量分配給指標。

  11. 匿名使用者2024-01-16

    可以分配 null 和物件指標,它們在某些語言中也稱為物件引用。

  12. 匿名使用者2024-01-15

    如果強制轉換型別,則可以分配任何整數值。

相關回答
10個回答2024-02-29

在 Windows 平台上 +VC 指標是 4 個位元組,我不知道你在用什麼。 >>>More

12個回答2024-02-29

Ricoh 1911 影印機初始化步驟:

開機,不要把墨粉瓶放進去,按數字107---的黃色按鈕---然後按住紅色按鈕三秒以上,出現英文,選擇sp1--1--2--214運輸**本體,然後等待機器初始化約20秒,機器停止,然後關機,重新啟動,然後安裝墨粉瓶, 還行。 (載入後,在初始化時必須是新向量)。 >>>More

3個回答2024-02-29

如果偶爾關機並崩潰,只需按關機按鈕即可開機(如果沒有,則必須拔下電源)。 >>>More

6個回答2024-02-29

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

10個回答2024-02-29

應用程式正常初始化,這是由病毒引起的,防病毒可能無法解決問題。 這樣做的原因很簡單,在安裝程式的目錄中有乙個額外的資料夾。 此資料夾是 ws2,但它也可能是乙個檔案。 >>>More