国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【編程語言 · C語言 · 函數(shù)指針】

這篇具有很好參考價值的文章主要介紹了【編程語言 · C語言 · 函數(shù)指針】。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

函數(shù)指針

由于指針可以指向任何存儲器位置中的地址,因此它們也可以指向可執(zhí)行代碼的開頭。

函數(shù)指針或函數(shù)指針指向內(nèi)存中函數(shù)的可執(zhí)行代碼。函數(shù)指針可以存儲在數(shù)組中,也可以作為參數(shù)傳遞給其他函數(shù)。

函數(shù)指針聲明使用 * 就像使用任何指針一樣:

return_type (*func_name)(parameters) 

(*func_name)? 周圍的括號很重要。沒有括號,編譯器會認(rèn)為函數(shù)在返回指針。

聲明函數(shù)指針后,必須將其分配給函數(shù)。

下面的簡短程序聲明一個函數(shù),聲明一個函數(shù)指針,將該函數(shù)指針分配給該函數(shù),然后通過該指針調(diào)用該函數(shù):

#include <stdio.h>
void say_hello(int num_times); /* function */

int main() {
  void (*funptr)(int);  /* function pointer */
  funptr = say_hello;  /* pointer assignment */
  funptr(3);  /* function call */
    
  return 0;
}

void say_hello(int num_times) {
  int k;
  for (k = 0; k < num_times; k++)
    printf("Hello\n");
}

函數(shù)名稱指向可執(zhí)行代碼的開頭,就像數(shù)組名稱指向其第一個元素一樣。

因此,盡管諸如?funptr = &say_hello?和??(*funptr)(3)? 之類的語句是正確的,但在函數(shù)分配和函數(shù)調(diào)用中不必包括地址運(yùn)算符&和間接運(yùn)算符*。

【選詞填空】聲明一個函數(shù)sum,該函數(shù)返回其參數(shù)之和,并聲明一個指向sum的函數(shù)指針psum。

int?sum(int?a,?int?b)?{
??return?a??b;
}

int?(??psum)(int,?)?=?;

*

sum

int

+

函數(shù)指針數(shù)組

函數(shù)指針數(shù)組可以替換開關(guān)或if語句以選擇動作,如以下程序所示:

#include <stdio.h>

int add(int num1, int num2);
int subtract(int num1, int num2);
int multiply(int num1, int num2);
int divide(int num1, int num2);

int main() 
{
  int x, y, choice, result;
  int (*op[4])(int, int);

  op[0] = add;
  op[1] = subtract;
  op[2] = multiply;
  op[3] = divide;
  printf("Enter two integers: ");
  scanf("%d%d", &x, &y);
  printf("Enter 0 to add, 1 to subtract, 2 to multiply, or 3 to divide: ");
  scanf("%d", &choice);
  result = op[choice](x, y);
  printf("%d", result);
    
  return 0;
}

int add(int x, int y) {
  return(x + y);
}

int subtract(int x, int y) {
  return(x - y);
}

int multiply(int x, int y) {
  return(x * y);
}

int divide(int x, int y) {
  if (y != 0)
    return (x / y);
  else
    return 0;
}

?int?(*op[4])(int,?int);?語句聲明函數(shù)指針的數(shù)組。每個數(shù)組元素必須具有相同的參數(shù)和返回類型。

在這種情況下,分配給數(shù)組的函數(shù)具有兩個int參數(shù)并返回一個int。

【填空題】調(diào)用funcs數(shù)組指向的函數(shù)。

//?suppose?f1,?f2,?and?f3?are?declared
void?(*funcs[3])()?=?{f1,?f2,?f3};
for?(int?ix?=?0;?ix?<?;?ix++)?{
??[ix]();?
}文章來源地址http://www.zghlxwxcb.cn/news/detail-497778.html

到了這里,關(guān)于【編程語言 · C語言 · 函數(shù)指針】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 編程語言MoonBit新增矩陣函數(shù)的語法糖

    編程語言MoonBit新增矩陣函數(shù)的語法糖

    1. 新增矩陣函數(shù)的語法糖 新增矩陣函數(shù)的語法糖,用于方便地定義局部函數(shù)和具有模式匹配的匿名函數(shù): 2. 新增使用 T::{ ... } 構(gòu)造結(jié)構(gòu)體的語法 這個新語法可用于顯式的指定結(jié)構(gòu)體的類型,并會使得結(jié)構(gòu)體內(nèi)有更好的補(bǔ)全: 3. 正式移除 var id = expr 的語法 4. 增加了新的關(guān)鍵

    2024年01月23日
    瀏覽(18)
  • c語言編程中出現(xiàn)錯誤: 表達(dá)式必須包含指向?qū)ο蟮闹羔橆愋汀?該錯誤如何解決? 下文解答

    c語言編程中出現(xiàn)錯誤: 表達(dá)式必須包含指向?qū)ο蟮闹羔橆愋汀?該錯誤如何解決? 下文解答

    表達(dá)式必須包含指向?qū)ο蟮闹羔橆愋?,但他具有類型\\\"int\\\" 具體原因是因為arr數(shù)組本質(zhì)是一個指針類型,指向的是首元素的地址,如果用int 來接收顯然不合適,以至于在引用下列定義的int類型的變量時候產(chǎn)生錯誤——表達(dá)式必須包含指向?qū)ο蟮闹羔橆愋停哂蓄愋蚛\\"int\\\",解決

    2024年02月11日
    瀏覽(20)
  • 函數(shù)探秘:深入理解C語言函數(shù),實現(xiàn)高效模塊化編程

    函數(shù)探秘:深入理解C語言函數(shù),實現(xiàn)高效模塊化編程

    ?? 歡迎大家來到貝蒂大講堂?? ????養(yǎng)成好習(xí)慣,先贊后看哦~???? 所屬專欄:C語言學(xué)習(xí) 貝蒂的主頁:Betty‘s blog 在數(shù)學(xué)中我們就知道了函數(shù)這個概念,而C語言同樣引入了函數(shù)這個概念,那C語言的函數(shù)到底是什么樣的呢? 在C語言中, 函數(shù)也叫子程序,它是一段可以

    2024年03月09日
    瀏覽(96)
  • 掌握Go語言:Go語言遞歸函數(shù),解密編程之謎,探索算法的奧秘?。?7)

    遞歸函數(shù)是指在函數(shù)內(nèi)部調(diào)用自身的函數(shù)。在Go語言中,遞歸函數(shù)使用起來非常方便,但需要注意遞歸的終止條件,以避免無限循環(huán)。 Go語言遞歸函數(shù)的使用方法 在Go語言中,編寫遞歸函數(shù)的基本步驟如下: 上述三點(diǎn)內(nèi)容詳細(xì)解釋如下: 定義一個函數(shù),函數(shù)內(nèi)部調(diào)用自身 :

    2024年04月15日
    瀏覽(102)
  • 什么是棧,為什么函數(shù)式編程語言都離不開棧?

    什么是棧,為什么函數(shù)式編程語言都離不開棧?

    ? 棧是一種具有特殊訪問方式的存儲空間,它的特殊性在于, 最后進(jìn)入這個空間的數(shù)據(jù),最先出去 ,可以畫圖來描述一下這種操作方式。 假設(shè)有一個盒子和三本書,依次將三本書他們放入盒子中。 入棧模擬圖 ? 現(xiàn)在有一個問題,如果一次只能取一本,我們?nèi)绾螌鴱暮凶?/p>

    2024年02月06日
    瀏覽(30)
  • Hlang--用Python寫個編程語言-函數(shù)與基本數(shù)據(jù)結(jié)構(gòu)實現(xiàn)

    Hlang--用Python寫個編程語言-函數(shù)與基本數(shù)據(jù)結(jié)構(gòu)實現(xiàn)

    okey,經(jīng)過一段時間的努力,接下來要實現(xiàn)的是函數(shù)。當(dāng)然還有對應(yīng)的基本數(shù)據(jù)結(jié)構(gòu),那么之后的話,我們的工作就開始進(jìn)一步轉(zhuǎn)換了。 那么在這塊我們要實現(xiàn)的有: 函數(shù)的定義 String類型的實現(xiàn) 列表類型的實現(xiàn) 實話實話,這個的實現(xiàn)是相當(dāng)簡陋的。不過作為一個小模型,應(yīng)該

    2024年02月12日
    瀏覽(88)
  • 【跟小嘉學(xué) Rust 編程】十三、函數(shù)式語言特性:迭代器和閉包

    【跟小嘉學(xué) Rust 編程】一、Rust 編程基礎(chǔ) 【跟小嘉學(xué) Rust 編程】二、Rust 包管理工具使用 【跟小嘉學(xué) Rust 編程】三、Rust 的基本程序概念 【跟小嘉學(xué) Rust 編程】四、理解 Rust 的所有權(quán)概念 【跟小嘉學(xué) Rust 編程】五、使用結(jié)構(gòu)體關(guān)聯(lián)結(jié)構(gòu)化數(shù)據(jù) 【跟小嘉學(xué) Rust 編程】六、枚舉

    2024年02月11日
    瀏覽(27)
  • 100天精通Golang(基礎(chǔ)入門篇)——第15天:深入解析Go語言中函數(shù)的應(yīng)用:從基礎(chǔ)到進(jìn)階,助您精通函數(shù)編程?。ㄟM(jìn)階)

    100天精通Golang(基礎(chǔ)入門篇)——第15天:深入解析Go語言中函數(shù)的應(yīng)用:從基礎(chǔ)到進(jìn)階,助您精通函數(shù)編程?。ㄟM(jìn)階)

    ?? 博主 libin9iOak帶您 Go to Golang Language.? ?? 個人主頁——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動形象??簡單易學(xué)!歡迎大家來踩踩~?? ?? 《IDEA開發(fā)秘籍》學(xué)會IDEA常用操作,工作效率翻倍~?? ?? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬請批

    2024年02月12日
    瀏覽(36)
  • Lua中文語言編程源碼-第六節(jié),更改lmathlib.c 數(shù)學(xué)庫函數(shù), 使Lua加載中文庫關(guān)鍵詞(與數(shù)學(xué)庫相關(guān))

    源碼已經(jīng)更新在CSDN的碼庫里: 在src文件夾下的lmathlib.c 數(shù)學(xué)庫 函數(shù),Standard mathematical library:表明這個C源文件實現(xiàn)了Lua的標(biāo)準(zhǔn)數(shù)學(xué)庫(Standard mathematical library),即提供了與數(shù)學(xué)相關(guān)的API和功能實現(xiàn)。 增加中文版mathlib數(shù)學(xué)函數(shù)名列表,保留英文版mathlib數(shù)學(xué)函數(shù)名列表。 原

    2024年03月27日
    瀏覽(32)
  • GO編程語言:簡潔、高效、強(qiáng)大的開源編程語言

    GO編程語言:簡潔、高效、強(qiáng)大的開源編程語言

    在現(xiàn)代軟件開發(fā)領(lǐng)域,隨著應(yīng)用復(fù)雜度的不斷提升,開發(fā)人員對編程語言的需求也日益增長。GO編程語言,作為一種簡潔、高效且具備強(qiáng)大并發(fā)能力的新型開源編程語言,逐漸成為了許多開發(fā)者的首選。本文將詳細(xì)介紹GO語言在哪些項目開發(fā)中表現(xiàn)出色,以及為什么許多開發(fā)者

    2024年02月02日
    瀏覽(173)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包