推 alvine: array[這裡不能用變數], 舉例 int array[100] 10/27 22:21
推 AIGecko: 新版的可以用變數宣告陣列大小 會自動配置 10/27 22:26
→ mtbehisseste: a大 但是我的元素數目是要輸入的欸那怎麼辦 10/27 22:26
→ AIGecko: 換個編譯器 舊版不支援 10/27 22:26
→ mtbehisseste: 兩個a大@@ 10/27 22:26
→ AIGecko: 然後初始非0值可以用memset 10/27 22:27
→ AIGecko: 抱歉更正 自動配置大小要用C++才可以 10/27 22:33
推 CaptainH: memset是以byte為單位 用在int會錯 10/27 22:55
→ CaptainH: 還有C++才是禁止VLA的 10/27 22:56
推 tjjh89017: C++是沒有VLA,但是gcc會把VLA功能打開 10/27 22:59
→ AIGecko: 因為我實際測試4.9版.c會禁 但是.cpp可以過 10/27 23:00
→ AIGecko: 所以其實C++不支援VLA 但是GCC有給用這樣?連C++11都能過 10/27 23:05
→ littleshan: gcc要加上-Wpedantic,它才會把非標準語法抓出來 10/28 01:03
→ littleshan: 然後.c的話,你要用-std=c99才能用VLA,但這是標準 10/28 01:04
→ AIGecko: 這GCC還真詭異 加上-std=c99 VLA還是不過 10/28 01:17
→ AIGecko: 但是gcc的網站卻說ISO C99支援且有額外支援C90和C++ 10/28 01:20
→ fatrabitree: 第一種只有[0]是那個值,其他為未賦值狀態 10/28 01:34
→ fatrabitree: 第二種syntax error 10/28 01:34
推 IcecreamHsu: 就用迴圈吧 10/28 07:54
→ hotrain13: 用for迴圈 10/28 17:42
→ johnjohnlin: 我的話會用 vector<int> arr(i,1); 10/28 22:21
→ lantw44: VLA 不能給初始值吧 10/29 02:15
推 lNishan: 如果堅持用陣列的話 請用std::fill (<algorithm>) 10/30 04:27
→ uranusjr: 人家就有寫 C 了為什麼好多人在那邊講 C++ 10/31 00:38
→ lNishan: 沒看到sorry ... 10/31 02:44
推 zxc159623487: memset(array,初值,sizeof(array)) 10/31 08:04
推 LiloHuang: 如果是 GCC 可考慮使用 Designated Initializers 10/31 08:48
→ LiloHuang: int array[64] = {[0 ... 63] = 1}; 寫起來大概是這樣 10/31 08:49