3 回答

TA貢獻1816條經驗 獲得超6個贊
這是一個函數的指針。它要指向一個函數才能有用。指向一個函數之后可以用它來代替該函數。之后使用這個指針相當于使用該函數。
int (*f)()則是一個函數指針。指向一個 int f() 這樣的函數。比如有函數:
int get1() { return 1; }
int get2() { return 2; }
int main(){
int (*pf)();// pf是一個函數指針,參數為空,返回int
pf = get1;// pf保存 get1函數入口地址。 注意,不是 pf = get1() ,后者是一個函數調用
cout<< pf()<< endl; // 1
pf = get2;// pf保存 get2的入口地址
cout<< pf() << endl; // 2
}
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用于底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標準規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平臺的許多計算機平臺上進行編譯。
擴展資料:
C語言語言特點:
1、具有結構化的控制語句
C語言是一種結構化的語言,提供的控制語句具有結構化特征,如for語句、if?else語句和switch語句等??梢杂糜趯崿F函數的邏輯控制,方便面向過程的程序設計。
2、豐富的數據類型
C語言包含的數據類型廣泛,不僅包含有傳統的字符型、整型、浮點型、數組類型等數據類型,還具有其他編程語言所不具備的數據類型,其中以指針類型數據使用最為靈活,可以通過編程對各種數據結構進行計算。
3、豐富的運算符
c語言包含34個運算符,它將賦值、括號等均視作運算符來操作,使C程序的表達式類型和運算符類型均非常豐富。
4、可對物理地址進行直接操作
C語言允許對硬件內存地址進行直接讀寫,以此可以實現匯編語言的主要功能,并可直接操作硬件。c語言不但具備高級語言所具有的良好特性,又包含了許多低級語言的優勢,故在系統軟件編程領域有著廣泛的應用。

TA貢獻1831條經驗 獲得超4個贊
這就是傳地址進去 比如 數組 a的 內存地址模型如:
0012FF00--0012FF03 :這是a[0]=1
0012FF00--0012FF03 :這是a[1]=2
0012FF00--0012FF03 :這是a[2]=3
0012FF00--0012FF03 :這是a[3]=4
0012FF00--0012FF03 :這是a[4]=5
0012FF00--0012FF03 :這是a[5]=6
0012FF00--0012FF03 :這是a[6]=7
0012FF00--0012FF03 :這是a[7]=8
你調用f 其實 就 把 &a[3] =0012FF00 傳給了 f(int *a,int n) 里面的a,把3傳給了n
函數實現:
最后返回 s,那 s 是怎么得來的? 初值 為1 ,經過 循環計算,得到最后的 s
i=0 s=s*(*a++)=1*(4) 這里要注意 這個 *的作用 是 到它后面的跟的地址里面去取值,也就是 到 0012FF00 里面取值 ,得到的是 4,然后后面的估計自己也能分析出來了,,如果沒出錯的話,得到的應該是 4*5*6=120 吧。
- 3 回答
- 0 關注
- 103 瀏覽
添加回答
舉報