- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云端共撰课程设计
函數 01010 10101 01010 01010 10101 01010 01010 10101 01010 函數的意義 有傳回值的副程式 減少程式撰寫工作:把重複出現多次的一段程式獨立出成為函數 易於維護 增加程式的可讀性 函數的格式 傳回值型態 函數名稱(參數1,參數2……) { 函數的本體 } 傳回值型態:宣告其傳回值(以return指令)的資料型別。若無傳回值,則宣告其型別為 void。 函數名稱:第一字不可以是數字,其餘由英文字母、數字…構成。 參數:函數名稱後緊接著 ( ) ,不管有無參數值,都要有 ( ) 例1使用前定義函數內容 #include stdio.h int addFun(int x, int y) { return x + y; } void main() { int a = 10, b = 20, r; r = addFun(a, b); printf(%d + %d = %d \n, a, b, r); } 傳回值 函數名 參數 傳回值 呼叫函數 a b r 10 20 main() x y 10 20 addFun() 30 參數傳遞 call by value 傳值呼叫 #include stdio.h float multiply_Fun(float, float); int main() { float a=2, b=19, c; c = multiply_Fun(a, b); printf(%f * %f = %f \n, a, b, c); return 0; } float multiply_Fun(float x, float y) { return x * y; } 讓compiler能編譯函數,在呼叫函數前須先宣告函數名 完整撰寫函數 例2函數內容定義於使用後(先宣告函數名) 先指定參數個數及資料型態 Call By Value 傳值呼叫 將呼叫者的參數值複製到被呼叫者的記憶體上, 由被呼叫的函數在記憶體存取該參數。 被呼叫者存取不到呼叫者的區域變數,呼叫者變數不會被被呼叫者修改。 void fun(int x, int y) { x = 5; y = 5; } void main() { int x = 0, y = 0; fun(x, y); printf(%d %d\n, x, y); } 0 0 x y 0 0 5 5 00A1 00A3 0001 0003 x y 全域變數global variable 變數 x 定義於函數(main or lion)之外 int x; int main() { int s; } void lion(int y) { … } 全域變數x Where: 程式內所有的函數都可以存取 When: 整個程式執行期間均存在 變數 x、y定義於函數內 int main() { int x; … } void lion(int y) { … } 區域變數 Where: 只有定義該變數的函數可以存取 When: 呼叫(執行)該函數時產生,離開該函數就消滅。 區域變數local variable 進階介紹 函數可以遞迴呼叫,因此函數內的變數消滅前可能會呼叫自己而再產生新的變數。此類變數稱為local variable或auto variable,Compiler會把它放在堆疊上。 如果函數可以看到兩個以上同名的變數,則運算式內的變數會以位置最近的為準,所謂位置指的是最接近的{} double x = 3.14; int main( ) { int x = 0; x = 100; // 此處的x是指上一行的整數x } static改變變數的存在時間 static int x; int main() { … } Where:此C檔內函數可看到x,其他原始程式檔都看不到 When:整個程式執行期間均存在 int main() { static int x; } Where:只有定義該變數的函數(此處為main)可以存取 When:整個程式執行期間均存在 extern表示此變數在別的檔案內宣告,此處只是要讓Compiler能夠翻譯相關的運算式,在此不分配空間 主要在大型專案管理,有多程式設計人員撰寫程式,要用到共同的全域變數,如果每個人定義一次,則Linker會抱怨該變數宣告了一次以上。若都加上static,雖然可以產生執行檔,但大家用的不是同一個變數 正確的做法是: global.h檔內定義 extern int x; global.c內定義 int x; 其他人的.c
您可能关注的文档
- 主要生态因素对烟叶质量影响研究进展-安徽农业科学.PDF
- 主题:在代顿大学校园内吸烟-UniversityofDayton.PDF
- 丽珠集团-HKEXnews.PDF
- 为提升设计品质将后续可能出现的问题提前在设计阶段预防和解决好.DOC
- 义守大学资讯工程学系学生英语能力毕业资格检定暨作业规定.DOC
- 主题B:数学逻辑推理.PDF
- 乙炔气体可以使溴水或酸性高锰酸钾褪色.PPT
- 九中音乐特长生声乐训练指引纲要-泉州九中.DOC
- 乘风破浪-香港特区政府文书职系人员协会.PDF
- 乙快代用品一千组煤氛的强化及其在悍接上的睡用-天津大学期刊中心.PDF
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
文档评论(0)