typedef struct _X
{
int a;
int b;
}X;
X** arrayOfXPointers;
arrayOfXPointers = malloc(10 * sizeof(X*));
我有類似上面顯示的代碼。 我知道我必須分配個別的arrayOfXPointers
數組元素。
我的問題是,在我這樣做之前,將,arrayOfXPointers[1]
等空或指向一些垃圾值。
分配一個結構指針陣列
如何檢查一個單獨的數組元素是否已被先前分配或假定它的值可能是垃圾。有沒有辦法動態初始化所有的數組元素爲空?
從使用calloc
的答案似乎是最好的選擇,但不是由C標準
其中浮現在腦海另一個想法,正在運行的循環和分配arrayOfXPointers[i]
保證是NULL
是還有其他更好的便攜式方法嗎?
它是一個指針,但它取決於你聲明它的位置,默認情況下全局變量爲零初始化 –
更好地使用'calloc'或'malloc + memset' ... – anishsane
@DavidKernin'arrayOfXPointers'指向內存段由'malloc()'分配,內容可以是任何東西。 –