1樓:匿名使用者
1. int * 是指標型別,它定義的變數可以存放「int型別變數」的地址
2. malloc函式返回一個記憶體的首地址,也可以說返回了一個空指標,需要強制轉換為特定的指標型別,從而可以從這個首地址找到所需型別的值(比如int *就可以從這個地址開始,存取一系列的整型數)。
2樓:
總結一下吧
加上*是因為要返回的是新申請的空間的地址
加上 int * 原因就是強制轉換
就是說malloc返回的是void *型的指標,所以你必須強制轉換成你要使用的型別的地址
你可以這樣想,什麼型別的分配都要用malloc這一個函式,所以要想得到不同的型別的地址你只能是返回void * 型的,然後使用的時候自己強制轉換
3樓:
malloc 都是給指標變數分配單元后變成陣列那樣使用,所以都帶 *例如:int *buff;
float *x;
buff = (int *) malloc(30*sizeof(int));
x = (float *) malloc(30*sizeof(float));
// 下面可用 buff[0],buff[1],...buff[29]; x[0],x[1]...x[29];了
4樓:匿名使用者
malloc返回的是void*型別。
(int*) 就是將void*型別轉成制定的型別int *p = (int*)malloc(30 *sizeof(int));
p為指標型別, 大小為30個int大小
5樓:匿名使用者
比如你定義一個指標 int *p,那麼這句話是指定對int型別的指標p分配空間,但是如果你寫的是int p,那麼空間分配是對int型別的變數p指定進行的,寫法就應該是(int)malloc(30)
6樓:
malloc函式返回一個記憶體的首地址,記憶體地址都是十六進位制表示的整數,所以返回值是一個指向整數的整型的指標,即int指標。這和我們經常使用的情況是不衝突的,是一致的。
7樓:匿名使用者
malloc返回你開闢空間的首地址所以是*
double型別變數c語言裡輸出時的格式說明符是什麼
蟲心菜 float和double型別的輸出時的格式說明符都是 f,這是由於向那些未在原型中申明引數型別的函式傳遞引數時,float型會自動轉為double型,所以用 lf和 f結果都一樣。例如 double a 3.1323 float b 0.234 printf lf n a 輸出結果為3.13...
會計憑證的格式??什麼是會計憑證型別
會計憑證分為收付轉,基本格式 借貸方,編號,摘要,科目 金額,記賬憑證又稱記賬憑單,是會計人員根據稽核無誤的原始憑證按照經濟業務事項的內容加以分類,並據以確定會計分錄後所填制的會計憑證。它是登記賬簿的直接依據。記賬憑證必須具備以下基本內容 1 記賬憑證的名稱及填制單位名稱 記賬憑證。2 填制記賬憑證...
資料庫中有哪幾種date型別的格式?
在資料庫取出來的時候就轉換好。select getdate 舉例如下 select convert varchar 10 getdate 120 select convert varchar,getdate 120 select replace replace replace convert var...