91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為何scanf函數(shù)的參數(shù)需要取地址?

學(xué)益得智能硬件 ? 來源:學(xué)益得智能硬件 ? 2024-04-26 17:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

scanf后面的參數(shù),為什么要加上取地址的符號? 一般學(xué)習(xí)C語言學(xué)到第二天的時(shí)候,很多同學(xué)都會有這樣的疑問。 這個(gè)問題等你學(xué)完了指針,應(yīng)該就會很清晰。 scanf的作用是從標(biāo)準(zhǔn)輸入緩沖區(qū)獲得一個(gè)數(shù)據(jù),放在對應(yīng)的變量里面,假設(shè)我們獲取的是一個(gè)整數(shù)。 如果不取地址,寫法是這樣的:

scanf("%d", num);
num在這個(gè)地方叫做實(shí)參。 scanf的定義在C庫中,而且還涉及可變參數(shù),我們把它簡化一下,假設(shè)函數(shù)的定義就是這樣:
int scanf(char *f, int n)
{
    // ...
}
這個(gè)地方的n叫做形參。 在內(nèi)存里面,實(shí)參占 4 個(gè)字節(jié),形參也占 4 個(gè)字節(jié)。 函數(shù)體里面要做的,就是從標(biāo)準(zhǔn)輸入讀取一個(gè)整數(shù),放在 n 中。 那么問題來了,數(shù)據(jù)確實(shí)被放到了 n 里面,但是 num 沒有任何變化,回到函數(shù)調(diào)用的地方,num 并沒有變成我們想要的數(shù)據(jù)。 如果改成取地址,實(shí)參還是 num,但是形參變成了 num 的地址,指針 n 指向 num,在 scanf 函數(shù)里面,可以通過地址把獲取到的數(shù)據(jù)放到 num 中。
回到函數(shù)調(diào)用的地方,num確實(shí)被修改了。 所以我們使用 scanf 的使用,經(jīng)常會見到取地址的符號,就是希望在函數(shù)內(nèi)部修改實(shí)參的值。 最后,還得強(qiáng)調(diào)一下,并不是所有使用 scanf 的地方都要加上取地址符號,比如數(shù)組,數(shù)組名本身就是地址,也就沒有必要再對他做取地址的操作。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 參數(shù)
    +關(guān)注

    關(guān)注

    11

    文章

    1867

    瀏覽量

    33104
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141812
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4381

    瀏覽量

    64918

原文標(biāo)題:scanf的參數(shù)為什么要取地址?

文章出處:【微信號:學(xué)益得智能硬件,微信公眾號:學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    四種獲取內(nèi)核函數(shù)地址的方法

    在內(nèi)核調(diào)試中,經(jīng)常需要知道某個(gè)函數(shù)地址,或者根據(jù)函數(shù)地址找到對應(yīng)的函數(shù),從而進(jìn)行更深一步的de
    的頭像 發(fā)表于 11-17 16:58 ?1639次閱讀
    四種獲取內(nèi)核<b class='flag-5'>函數(shù)</b><b class='flag-5'>地址</b>的方法

    C語言scanf函數(shù)問題

    如圖所示,scanf()函數(shù)格式串中如果沒有逗號(%d%d%d),則顯示結(jié)果正常;但是加了逗號之后(%d,%d,%d)結(jié)果就不正常了,請問各位這是怎么回事?謝謝
    發(fā)表于 08-07 13:09

    scanf函數(shù)簡單問題討論

    );return 0;}但要注意:這個(gè)函數(shù)自動把你最后敲的回車轉(zhuǎn)換為字符'\0'。如果你的輸入超過了數(shù)組的大小,那么就會產(chǎn)生錯(cuò)誤。3.scanf()函數(shù)參數(shù)輸入類型不匹配問題這是我在
    發(fā)表于 12-21 16:55

    scanf函數(shù)簡單問題討論和分享

    );return 0;}但要注意:這個(gè)函數(shù)自動把你最后敲的回車轉(zhuǎn)換為字符'\0'。如果你的輸入超過了數(shù)組的大小,那么就會產(chǎn)生錯(cuò)誤。3.scanf()函數(shù)參數(shù)輸入類型不匹配問題這是我在
    發(fā)表于 12-29 18:26

    如何對printf()函數(shù)scanf()函數(shù)進(jìn)行重定向呢

    怎樣用串口來測試代碼的正確與否呢?如何對printf()函數(shù)scanf()函數(shù)進(jìn)行重定向呢?
    發(fā)表于 11-30 07:41

    stm32編程中如何實(shí)現(xiàn)printf函數(shù)scanf函數(shù)

    stm32編程中如何實(shí)現(xiàn)printf函數(shù)scanf函數(shù)
    發(fā)表于 12-01 07:45

    C語言入門教程-Scanf

    Scanf 使用scanf函數(shù)可以從標(biāo)準(zhǔn)輸入設(shè)備接受輸入。對我們而言,標(biāo)準(zhǔn)輸入設(shè)備一般就是鍵盤。雖然scanf函數(shù)可以做許多事情,但是除了
    發(fā)表于 07-29 10:44 ?1181次閱讀

    matlab函數(shù)命令代碼

    本內(nèi)容介紹了matlab函數(shù)。在matlab中有四個(gè)函數(shù)具體:Matlab函數(shù)有:
    發(fā)表于 12-20 14:41 ?5031次閱讀

    C語言scanf函數(shù)詳解

    C語言scanf函數(shù)詳細(xì)解釋
    發(fā)表于 05-15 09:20 ?6次下載

    printf和scanf什么意思

    printf()函數(shù)是格式化輸出函數(shù), 一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。scanf()是C語言中的一個(gè)輸入函數(shù)。與printf函數(shù)
    發(fā)表于 11-09 18:02 ?3.8w次閱讀
    printf和<b class='flag-5'>scanf</b>什么意思

    實(shí)現(xiàn)重定向printf()和scanf() 函數(shù)案例分析

    要想printf()和scanf() 函數(shù)工作,我們需要把printf()和scanf() 重新定向到串口中。重定向是指用戶可以自己重寫C 的庫函數(shù)
    發(fā)表于 06-23 08:26 ?9691次閱讀
    實(shí)現(xiàn)重定向printf()和<b class='flag-5'>scanf</b>() <b class='flag-5'>函數(shù)</b>案例分析

    C++:詳談地址操作符重載

    址操作符重載函數(shù)返回值為該類型的指針,無參數(shù)
    的頭像 發(fā)表于 06-29 11:59 ?3689次閱讀
    C++:詳談<b class='flag-5'>取</b><b class='flag-5'>地址</b>操作符重載

    C語言使用scanf函數(shù)的注意事項(xiàng)

    scanf函數(shù)中的格式控制后面應(yīng)當(dāng)是變量地址,而不是變量名。 * 如果在格式控制字符串中除了格式聲明以外還有其他字符,則在輸入數(shù)據(jù)時(shí)在對應(yīng)的位置上應(yīng)輸入這些字符相同的字符。
    的頭像 發(fā)表于 03-09 11:01 ?1040次閱讀

    scanf在C語言中的作用

    至關(guān)重要。 scanf函數(shù)的基本語法是: ```c scanf("格式控制字符串", 變量2, ...); ``` 其中,"格式控制字符串"指定了輸入數(shù)據(jù)的類型和格式,變量1、變量2等是待存儲輸入數(shù)據(jù)的變量
    的頭像 發(fā)表于 11-23 14:13 ?2179次閱讀

    c語言scanf的正確使用及技巧

    函數(shù)的正確使用及一些技巧。 scanf函數(shù)的基本用法 scanf函數(shù)是通過格式控制字符串來確定輸入變量的類型和格式的。它的基本使用方法是,首
    的頭像 發(fā)表于 11-24 10:04 ?6026次閱讀
    主站蜘蛛池模板: 天天插天天射天天干 | 在线看av网址 | 日韩色网 | 99色播 | 欧美一区福利 | 亚洲高清一区二区三区四区 | 婷婷丁香花 | 欧美黑人黄色片 | 亚洲精品第三页 | 欧美大片一区二区三区 | 美女被啪到哭网站在线观看 | 性满足久久久久久久久 | 欧美同性精品xxxx | 免费一级欧美片在线观看 | 永久免费在线看 | 欧美三级免费看 | 亚洲影视一区二区 | 国产女人18毛片水真多18精品 | 欧美极品第一页 | 欧美 亚洲 国产 精品有声 | 亚州免费一级毛片 | 伊人天伊人天天网综合视频 | 国产精品永久免费自在线观看 | 婷婷在线免费观看 | 免费大片黄在线观看 | 日韩毛片高清免费 | 日本韩国三级视频 | 天天干干天天 | 成年片免费网址网站 | 国产精品成人aaaaa网站 | 国产小视频免费观看 | 欧美全免费aaaaaa特黄在线 | 久久精品综合 | 性欧美videofree另类超大 | 中国一级特黄剌激爽毛片 | 五月天婷婷一区二区三区久久 | 美女扒开尿口给男人看大全 | 好大好猛好爽好深视频免费 | 亚洲日本欧美日韩高观看 | 色视频免费观看高清完整 | 亚洲美女视频在线观看 |