2013-04-12 61 views
0

我想從我給出的例子寫一些代碼。這是造成問題的行是:二維數組設置在C

unsigned char search[][256] = '\04' "TEST", '\04' "DEMO"; 

我很少有經驗C,我是正確的思維,這是一個二維數組,如果是的話什麼被分配給它?

我得到的錯誤是「期望」,「或';'在字符串常量之前「。我已經嘗試將這兩個字符串放在字符串之前,但這似乎沒有幫助。

有人可以解釋這條線的含義,也許有什麼不對。

+1

作爲,是沒有意義的,在所有的代碼。你想做什麼? – 2013-04-12 20:10:27

+0

這是在aho-corasick實現中使用的兩個數組之一。這是我給出的一些示例代碼,用於嘗試和理解算法,它不包含失敗鏈接。 – Nexus490

+0

我懷疑這是實際的代碼,因爲它是無效的。除非有人不修正其語法,否則沒有什麼可以理解的。只有這樣纔有可能理解它。 – 2013-04-12 20:13:20

回答

1

如果正在試圖初始化的搜索,這樣它的第一個元素是256 char含有編號4的字符陣列,然後字符TES,並T,然後空字符和所述第二元件是一個數組與4號,然後DEM,並O,然後空字符的字符,那麼語法是:

unsigned char search[][256] = {"\04TEST", "\04DEMO"}; 

如果這不是你想要的,你需要解釋。如果\ 04意圖成爲剩餘字符的長度,上述內容是有意義的。如果你想長度從其他字符分開,這樣很明顯,你可以使用:

unsigned char search[][256] = {"\04" "TEST", "\04" "DEMO"}; 

或:

unsigned char search[][256] = 
{ 
    "\04" "TEST", 
    "\04" "DEMO", 
};