課程
/后端開發
/C
/Linux C語言指針與內存
怎么會出現array[2]? ?
2015-10-11
源自:Linux C語言指針與內存 5-2
正在回答
這是因為int array[2]還有一個為'\0'的結束數組符,而int array[]={0,1}則沒有'\0'這個結束符
xpsion 提問者
onemoo
HiJacker
LS的回答有問題,原因請看我給他的回復。
確實不應該有 array[2]。課程中這樣的寫法有嚴重的安全隱患。
剛看了一眼課程代碼,發現他的for循環也有問題,C標準不保證a b i 與array數組在內存中緊挨著,所以for中指針p可能取到無意義值。 C標準只保證數組中的元素緊挨著。
這講師真坑人...
qq_翔麟_0
onemoo 回復 qq_翔麟_0
qq_翔麟_0 回復 onemoo
舉報
指針-C語言的核心,代領大家對c語言有更加深刻的理解
1 回答數組array[2]越界了
1 回答關于數組array
1 回答數組申請?
2 回答數組長度與數組賦值的問題
1 回答為什么會輸出數組的值啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-10-11
這是因為int array[2]還有一個為'\0'的結束數組符,而int array[]={0,1}則沒有'\0'這個結束符
2015-10-11
LS的回答有問題,原因請看我給他的回復。
確實不應該有 array[2]。課程中這樣的寫法有嚴重的安全隱患。
剛看了一眼課程代碼,發現他的for循環也有問題,C標準不保證a b i 與array數組在內存中緊挨著,所以for中指針p可能取到無意義值。 C標準只保證數組中的元素緊挨著。
這講師真坑人...