我米目前正在籌備一個3C認證,在與指針NULL課程材料,還有這條線界河麻煩我:包括標準輸入輸出和stddef
如果你想使用你必須 零符號包括以下頭文件之一: stdio.h 或 stddef.h。 NULL符號在那裏定義。
(粗體是源)
由於or
強調,我把它讀作「永不包括」。這是一種真正的規範還是僅僅是課程材料中(許多)缺陷之一?
我米目前正在籌備一個3C認證,在與指針NULL課程材料,還有這條線界河麻煩我:包括標準輸入輸出和stddef
如果你想使用你必須 零符號包括以下頭文件之一: stdio.h 或 stddef.h。 NULL符號在那裏定義。
(粗體是源)
由於or
強調,我把它讀作「永不包括」。這是一種真正的規範還是僅僅是課程材料中(許多)缺陷之一?
您可以包含一個或兩個。首先寫入的將聲明NULL作爲第一個,它不會被聲明兩次。
由於stdio.h
包含stddef.h
,所以包含兩者都是無用的。但是如果你願意的話,你可以包括這兩個,因爲有一個警衛來避免多重包含。
要定義NULL的官方位置在<stddef.h>
。但是,在大多數實現中,您可以包含<stdio.h>
或<string.h>
(或其他一些包含的內容)來提取它們。
將兩者都包括在內是非常安全的,如果你真的需要它們,你應該這麼做(反之,如果你不需要,你不應該包括<stdio.h>
)。
也許他們想強調它是或者不是xor;) –
按照慣例,OR是包容性的,所以你應該把「A或B」看作「A或B,或者A和B」。 – michaelmeyer