計程考古題 其他問答題

看板ESOE-91作者 (有要唸書找找我)時間21年前 (2003/06/15 21:53), 編輯推噓4(400)
留言4則, 4人參與, 最新討論串1/1
=[傳值呼叫&傳址呼叫]= 傳值呼叫(Call by value) 在函數之間傳遞參數值 是利用其變數名稱作為傳遞依據 將其變數之值進行複製 給相對應的變數 進一步作運算 故不會影響其原來變數之值 具有變數之隱密性 傳址呼叫(Call by reference) 在函數之間傳遞參數 是利用一指標變數來傳遞該參數之所存記憶體位址 故在運算時是直接對該值作運算 變數隱密性較低 又可以一次傳遞多項參數(陣列) 故傳遞效率較高 =[動態記憶體配置]= 動態記憶體配置(Dynamic Memory Allocation) 利用指標變數 來根據程式需求量 隨時對電腦獲得記憶體 而非於程式一開始 就佔有記憶體 而達到較高的效率之做法 在C語言之中 DMA的基本相關函式有 malloc() calloc() free() EX: 跟系統要一記憶體 包含n個int,n個float,n個double int *pi; float *pf; double *pd; int n; scanf("%d",&n); /* 第一種寫法: */ pi=(int *)malloc(n*2); /* 第二種寫法: */ pf=(float *)calloc(n,4); /* 第三種寫法: */ pd=(double *)calloc(n,sizeof(double)); free(pi);free(pf);free(pd); 其中malloc()跟calloc()是對系統要記憶體的函式 其差別在於malloc不會對 所佔記憶體作先行配置 而calloc會先行配置為0 而free是釋放記憶體的函式 =[變數生命週期 (n & i 的那題)]= 變數i: 變數n: 1.該變數名稱為 i 1.該變數名稱為 n 2.該變數資料型態為 int 2.該變數資料型態為 int 3.該變數所佔記憶體為 2 byte 3.該變數所佔記憶體為 2 byte 4.該變數型態為 auto 4.該變數型態為 extern 5.該變數生命週期在 main() 5.該變數生命週期在 該檔案中 6.該變數儲存於 堆疊(stack) 6.該變數儲存於 記憶體 7.該變數宣告時 未有初始值 7.該變數宣告時 有初始值0 8.該變數之值被定義為 20 =[指標變數]= 指標變數(Pointer variable) 存放指標(記憶體位址)的變數 不同於一般變數乃是存放實體參數 作為間接取值的方式 可以利用 *(取值運算元) 跟 &(取址運算元) 來作宣告 定義 運算 EX: int *pi; //宣告pi為一指向int資料型態之指位器 int i; i=5; pi=&i; //將i之位址定義存給pi 指標常數就是相反 為一位址之值 =[函數原型宣告]= 回傳值型態 函數名稱(傳入參數型態,...); =[變數屬性]= 痾 很多 待會po 我要去WC -- ※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw) ◆ From: 140.112.26.92

推140.112.240.165 06/15, , 1F
推最後一句
推140.112.240.165 06/15, 1F

推 140.112.26.92 06/15, , 2F
人有3急
推 140.112.26.92 06/15, 2F

推 61.224.98.227 06/15, , 3F
謝拉阿海 拜託^^
推 61.224.98.227 06/15, 3F

推140.112.249.161 06/15, , 4F
一樓的 你已為每個人都愛打魔獸嗎...
推140.112.249.161 06/15, 4F
文章代碼(AID): #-x7fiZm (ESOE-91)