Re: [請益] 一些問題...

看板TransCSI作者 (RJ-king)時間16年前 (2009/04/15 22:11), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《OREO5566 (餅乾好吃耶)》之銘言: : 1.假設整數X所在的位址為1000,指向雙精準度浮點數資料的指標變數P所在的位 : 址為4000,經過下列運算之後,各選項的答案為何?(32位元) : X=10; : P=(double*)&X; : *P=20; : [1]X [2]&X [3]sizeof(X) [4]&P [5]*P [6]sizeof(P) : [7]sizeof(P) [8]sizeof(*P) [9]*P-1 [10]*P++ 1. 20 (不過C::B跟VS2005的結果都是'0',應該跟記憶體分配大小有關) 2. 1000 3. 4 4. 4000 5. 20 6. 4 7. 題目跟6一樣...檢查一下吧 若是sizeof(&P)則答案是4 8. 8 9. 19 10. 21 : 2.下列的程式碼中,出現什麼問題 : void main( ) : { : int x=100 ; : int *p ; : int *q=&x ; : *p=*q+x ; : } 指標p指定值之前尚未初始化,所以指標p沒有指向任何記憶體位置,自然不能指定值 : 3.巢狀struct的資料結構,試利用此struct宣告struct變數dataS,並且設定內部資料 : 如i=20,j=30,寫出main程式,敘述此資料設定動作及資料呈現 : struct ints : { : int i ; : struct int w : { int j ; } dataW ; : } ; 先問"struct int w"這行是不是多一個空白?正確的程式碼是不是"struct intw"? 以下程式碼依據上述程式碼修正之後的struct宣告而寫: int main() { ints dataS; dataS.i = 20; dataS.dataW.j = 30; cout<<dataS.i<<endl<<dataS.dataW.j<<endl; return 0; } : 4.何謂動態記憶體?c和c++在動態記憶體是如何配置與釋放 第一小題自己查一下吧... 總之就是變數宣告時不先確定相對的記憶體大小 等到後續再依程式碼決定該變數的記憶體大小 第二小題: C:malloc() //配置 free() //釋放 C++:new //配置 delete //釋放 用法自己找下吧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.92.133
文章代碼(AID): #19vUht6i (TransCSI)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #19vUht6i (TransCSI)