3 回答

TA貢獻(xiàn)1條經(jīng)驗 獲得超2個贊
代碼1 中的i是局部變量,在for語句中每一次循環(huán)時重新創(chuàng)建和釋放, ?代碼2中你重復(fù)使用了同一個變量,會報使用了已經(jīng)定義的變量的錯誤

TA貢獻(xiàn)1條經(jīng)驗 獲得超0個贊
?使用malloce命令不是只需要在頭文件加入????#include <stdlib.h>????嗎?
怎么你的頭文件確實卻多了一個????#include<malloc.h>?????????我不懂,望解答。
還有個問題我想問你:
void * malloc(unsigned int size)????這個命令,
為啥例子是這樣寫的: malloc(100);????分配100個字節(jié)
我又看到這樣用的:(int *)malloc(5 * sizeof(int));????我知道sizeof(int)是測量本系統(tǒng)int型單位字節(jié)數(shù),但我不明白為什么在前面要加個 ?* ? 號?這樣有啥意義嗎?
還有就是另一個命令void * calloc(unsigned n,unsigned size); ?這個怎么用,比如我要開辟一個N個長度為size的連續(xù)空間,保存一個? ? char * 型的指針數(shù)組????那如何實現(xiàn)?我的想法是比如:
(char *)calloc(50,4);????開辟50個長度為4字節(jié)的連續(xù)空間
但我又怕會不會是這樣:
(char *)calloc(50,4 * sizeof(char));????這樣有問題嗎?可以加????*????號嗎?
可以sizeof(char)測量char型的單位字節(jié)數(shù)?恐怕這不能這樣測量吧?。。。???
希望大神解答

TA貢獻(xiàn)6條經(jīng)驗 獲得超0個贊
這個問題是,前幾天學(xué)習(xí)鏈表的創(chuàng)建,所疑惑的地方.
現(xiàn)在我有答案了
循環(huán)創(chuàng)建動態(tài)內(nèi)存,如上邊代碼 int * i.
i?的地址是不會變的,但i里邊保存即是指向的地址是每次循環(huán)就變動一次.
創(chuàng)建出來不知名的動態(tài)內(nèi)存,沒有被釋放,系統(tǒng)還是把那些內(nèi)存分配給了該程序.
但程序員已經(jīng)找不到了.
- 3 回答
- 1 關(guān)注
- 2410 瀏覽
添加回答
舉報