簡體   English   中英

檢查指針是否已初始化的最佳方法

[英]Best way to check if pointer is initialized

有沒有辦法檢查指針是否已初始化? 我有一個結構指針的結構

typedef struct foo
{
    int* ptr1;
    int* ptr2;
    int* ptr2;
    ...
    int* ptr100;
}

然后我的代碼將地址分配給那些指針(內部循環)。 但在分配地址之前,我想檢查指針是否已包含地址。 我知道我可以使用NULL初始化每個指針,然后檢查:

if(ptr1 == NULL)
    do something

但有沒有辦法寫一些類似但沒有初始化ptr東西?

未初始化的變量可以包含任何值。 因此,無法確定變量是否未初始化,因為它看起來就像已經初始化的變量。 確保變量初始化的唯一方法是顯式地為您寫入一個值(例如, NULL ),就像您在問題中已經提到的那樣。

我有一個包含指針數組的struct [...]是否可以編寫類似但沒有初始化ptr

沒有。

相關: https//stackoverflow.com/a/19626617/694576

暫無
暫無

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

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