最贊回答 / 熱噴Redpen
我把代碼稍微改一下: int* a;這里的a就是代表指針變量(int*),而不是一個整型變量(int)所以a存放的是地址,*a才是地址中存放的值(這里的*與第一行的*不同,這個*是取地址的意思)
2016-01-27
最贊回答 / 劉小宇0215
先回答第二個問題,注意是16進制,不是十進制,內存可能分配半個字節嗎,隨著內存越來越廉價,程序設計一般是空間換時間,每個數組是int的四個字節。第一個問題是二維數組賦值給一維數組,應該很好理解,不過我不理解你為什么將那個表達式稱為常量表達式,應該是變量表達式吧,而且這個數組[]里應該最大是11,而不是12也不會是12以上,具體細節如果不懂的話,建議你最好在命令行用gdb一步步的慢慢調試,我也是剛剛學,不過你犯的是常識錯誤。
2016-01-21
最新回答 / 奔跑的蝸牛Kevin
1、CPU的尋址能力以字節(byte)為單位 ,如32位的CPU可以尋址2的32次方的地址也就是4GB;2、32位、64位操作系統中的“位”并非計算機中的bit?。。?/div>
2016-01-12
最新回答 / 劷鹿
s(step)執行一行源代碼并且進入函數內部;f(frame)切換調用的上下文,進入相應的棧里,使用該命令可以打印棧層編號,當前的函數名,函數參數值,函數所在的文件及行號,函數執行到的語句等等;。。。。
2015-11-15
最新回答 / 實時編程
1,0x 表示16進制? ?我們平時說的數字就是10進制? ?方便區分?2,堆內存 一般情況下是 自己申請的 一般用malloc 申請的內存 是堆內存一般我們的變量? 會放在? 棧內存? ??棧幀? 也是在棧內存 的??一般情況 下? 堆內存 需要 主動調用??3, 寄存器? 屬于硬件? 已經不是內存了CPU 可以直接 從寄存器 取數據? 這樣 比從內存取快非常多不過寄存器 內存 還有緩存? 之間 關系 都是 由操作系統 處理的我們在編程過程一般理解為 從內存取數據而已?這個 一般 會在 操作系統 和組成...
2015-11-05
- 課程須知
- 本課程是C語言中級課程,為了更好的學習效果: 1、需要有一定的C語言基礎,如果沒有基礎的同學可以看《C語言入門》這門課。 2、本課程是在Linux環境下講解,需要熟悉一些Linux命令。如果不了解的話可以在《Linux C語言編程基本原理與實踐》這門課程中補充
- 老師告訴你能學到什么?
- 1、C語言中的指針是怎么回事 2、Linux下gdb調試工具是怎樣使用的 3、指針與內存有著怎樣的關系 4、數組與字符串之間的聯系
微信掃碼,參與3人拼團