我有許多不同的3軸傳感器,我正在編寫測試代碼。在C文件爲他們每個人,我所定義的相同字符的字符串:如何在頭文件中定義字符串數組?
char axis[3][8] = {"X", "Y", "Z"}
,我用我的「for」循環的結果來打印失敗這樣的軸:
DEVICETEST_LOG("%s Failed %s axis for Min range\n",device_name[DUT], axis[i]);
我在想,爲了節省一些空間,我可以在頭文件中定義一個字符串數組,以便在整個地方使用。
我已經嘗試了一些東西,但我似乎無法得到在我的頭文件中定義的字符串數組,我可以通過迭代來傳遞一個編譯。
啊,這是有道理的,但似乎bassackwards ...因此,我包括頭文件指向所有其他C文件到「myfile.c」本地定義。 – user1054210 2012-02-08 16:04:44
因此,即使我已經將頭文件包含在其他c文件中,我也收到了一個「undefined refrence」的編譯錯誤。所以在myheader.h中,我有>> extern char * AXIS [3] [8];在myfile.c中我有>> char * AXIS [3] [8] = {{「X」},{「Y」},{「Z」}};我在otherfile.c中包含myheader.h。我也嘗試了一些其他的技巧,但他們不同步。 – user1054210 2012-02-08 16:52:01
還有其他的東西是錯的,那麼因爲這確實有效......如果你把宏從等式中拿出來而只是嘗試訪問另一個包含頭文件的代碼模塊中的數組,那麼會發生什麼?其次,它應該只是'const char * AXIS [3] = {「X」,「Y」,「Z」};'因爲這些是字符串文字...你從哪裏得到'8'? – Jason 2012-02-08 17:06:06