#include?stdio.h
創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目做網(wǎng)站、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元蘭州做網(wǎng)站,已為上家服務(wù),為蘭州各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
//---子函數(shù)聲明---//?
int?func1();
int?func2(int?(*func1)());????????//形參為函數(shù)指針(即指向函數(shù)的指針)?
//---主函數(shù)---//?
int?main(){
printf("向函數(shù)二傳遞函數(shù)一,\n即函數(shù)一作為函數(shù)二的參數(shù)。\n");
printf("%d?",func1());
printf("%d\n",func2(func1));//注意函數(shù)名即為函數(shù)地址?。。。。?!?
}????????????????????????????????//實(shí)參為函數(shù)名func1或者func1,兩者等價(jià),而非func1()?
//---子函數(shù)定義---//?
int?func1(){
return?1;
}
int?func2(int?(*func1)()){????????//形參為函數(shù)指針(即指向函數(shù)的指針)
return?func1()+1;
}
你這是
參數(shù)傳遞
進(jìn)去的其實(shí)是數(shù)組的地址,在函數(shù)內(nèi)部修改了以后,數(shù)組的內(nèi)容就已經(jīng)真正的修改了,所以函數(shù)返回以后,繼續(xù)訪問這個(gè)數(shù)組,得到的數(shù)據(jù)就是修改以后的。
比如:
int array[12][12];
copy_arcs(arrar)
在訪問array就是修改后的數(shù)據(jù)了
動(dòng)態(tài)鏈接庫DLL的加載:隱式加載(載入時(shí)加載)和顯式加載(運(yùn)行時(shí)加載)
OutOfMemory.CN技術(shù)專欄-?C語言-?C語言入門教程-?C語言輸出函數(shù)(printf)和輸入函數(shù)(scanf)
上一篇:C語言基本概念下一篇:C語言程序的結(jié)構(gòu)特點(diǎn)
C語言輸出函數(shù)(printf)和輸入函數(shù)(scanf)
前面的幾個(gè)例子都用到了輸出函數(shù)printf,例1-3還用到了輸入函數(shù)scanf,這里我們先簡單介紹一下它們的格式,以便后面使用。scanf和printf這兩個(gè)函數(shù)分別稱為格式輸入函數(shù)和格式輸出函數(shù)。其
教程
前面的幾個(gè)例子都用到了輸出函數(shù)printf,例1-3還用到了輸入函數(shù)scanf,這里我們先簡單介紹一下它們的格式,以便后面使用。
scanf和 printf這兩個(gè)函數(shù)分別稱為格式輸入函數(shù)和格式輸出函數(shù)。其意義是按指定的格式輸入輸出值。因此,這兩個(gè)函數(shù)在括號(hào)中的參數(shù)都由以下兩部分組成:
1) 格式控制串:格式控制串是一個(gè)字符串,必須用雙引號(hào)括起來,它表示了輸入輸出量的數(shù)據(jù)類型。
在printf函數(shù)中可以在格式控制串內(nèi)出現(xiàn)非格式控制字符,這時(shí)在顯示屏幕上會(huì)顯示源字符串。各種類型的格式表示方式請(qǐng)參考:C語言格式輸出函數(shù)printf()詳解。
在scanf函數(shù)中也可以在格式控制串內(nèi)出現(xiàn)非格式控制符,這時(shí)會(huì)將輸入的數(shù)據(jù)以該字符為分隔。各種類型的格式表示方式請(qǐng)參考:C語言scanf()函數(shù)。
1、main函數(shù)可以不帶參數(shù),也可以帶參數(shù),這個(gè)參數(shù)可以認(rèn)為是 main函數(shù)的形式參數(shù)。
C語言規(guī)定main函數(shù)的參數(shù)只能有兩個(gè),還規(guī)定argc(第一個(gè)形參)必須是整型變量,argv( 第二個(gè)形參)必須是指向字符串的指針數(shù)組。加上形參說明后,main函數(shù)的函數(shù)頭應(yīng)寫為:
int main (int argc,char *argv[])
2、由于main函數(shù)不能被其它函數(shù)調(diào)用,因此不可能在程序內(nèi)部取得實(shí)際值。實(shí)際上,main函數(shù)的參數(shù)值是從操作系統(tǒng)命令行上獲得的。當(dāng)要運(yùn)行一個(gè)可執(zhí)行文件時(shí),在DOS提示符下鍵入文件名,再輸入實(shí)際參數(shù)即可把這些實(shí)參傳送到main的形參中去。
DOS提示符下命令行的一般形式為:
C:\可執(zhí)行文件名 參數(shù) 參數(shù)……;
一維數(shù)組的元素作為函數(shù)實(shí)參,與同類型的簡單變量作為實(shí)參一樣,是單向的值傳遞,即數(shù)組元素的值傳給形參,從而形參是改變不影響實(shí)參
數(shù)組名代表著整個(gè)數(shù)組的地址,如果一維數(shù)組的名字作為函數(shù)實(shí)參,傳遞的是整個(gè)數(shù)組,即形參數(shù)組和實(shí)參數(shù)組完全相同,是存放在同一存儲(chǔ)空間的同一個(gè)數(shù)組。這樣形參數(shù)組
修改時(shí),實(shí)參數(shù)組也同時(shí)被修改了。形參數(shù)組的元素個(gè)數(shù)可以省略。
#includestdio.h
//數(shù)組作為函數(shù)參數(shù),可以省略元素個(gè)數(shù)
//數(shù)組作為函數(shù)參數(shù),傳遞是整個(gè)數(shù)組的地址,修改了函數(shù)形參數(shù)組元素的值,會(huì)影響到外面的實(shí)參數(shù)組
void change(int array[])
{
printf("array ==%p\n",array);
array[0] = 100;
}
int main()
{
int ages[6] = {10,11,13,15,11,18};
printf("array ==%p\n",ages);
change(ages);
printf("%d\n",ages[0]);
return 0;
}
輸出結(jié)果為: array ==0x7fff5be26c00
array ==0x7fff5be26c00
100