最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++中*和&的用法詳解

 更新時間:2018年03月25日 14:03:51   作者:彩虹糖夢  
在本篇文章中我們給大家總結(jié)了C/C++中*和&的用法以及相關(guān)的代碼分享,有興趣的朋友趕緊學(xué)習(xí)下吧。

C++中&和*的用法一直是非常讓人頭疼的難點,課本博客上講這些知識點一般都是分開講其用法的,沒有詳細(xì)的總結(jié),導(dǎo)致我在這方面的知識結(jié)構(gòu)格外混亂,在網(wǎng)上找到了一篇英文文章簡單總結(jié)了這兩個符號的一些用法,都是一些比較基礎(chǔ)的知識,我比較關(guān)心的函數(shù)指針,指針函數(shù)等都沒有涉及到,今后有時間把這部分學(xué)明白整理出來。

C/C++中*和&的用法

C++語言是C語言的超集。幾乎所有可以運行的C程序都是可以運行的C++程序。因此,寫一個不包含C++特性的C++程序是可能的,盡管cout和引用的使用(見下文)更好的構(gòu)成了一個C++程序。C++和C在代碼格式上偶爾會有不同,比如,在C語言中,我們這樣把p聲明為一個int類型的指針 int *p,而在C++中我們使用int* p(編譯器并不在意你使用的是哪種格式)。

在C/C++中,*和&有很多用法,具體的使用要根據(jù)代碼內(nèi)容來確定。

C中*的用法

(a) 乘法運算:x=y*z;

(b) 乘法賦值運算:x*=y;相當(dāng)于x=x*y

(c) 注釋:/*這里是你的注釋*/

(d) 指針的聲明:int *p 或 int* p; 讀法:p是指向一個整數(shù)類型的指針。

(e) 復(fù)合指針: int **p; 或 int** p; 讀法 p是一個指向一個指向整數(shù)類型的指針的指針。(同樣道理, int***p等等)

(f) 解引用: x=*p 把指針p指向的值賦值給x

&在C語言中的用法

(a) 邏輯與:if((a>1)&&(b<0))

(b) 位運算與:x=a&b;

(c) 邏輯與賦值:x&=y;與 x=x&y含義相同

(d) 求地址運算符:p=&x;讀法:把x的地址賦給p(指針)

C++中&的補充用法

C++中有一種C不存在的變量類型引用變量(簡單說來為引用),盡管在C語言中用指針也可以實現(xiàn)類似的功能。

引用,指針,地址是聯(lián)系密切的概念。地址是在電腦內(nèi)存中的地址(一般是一些變量的值在內(nèi)存中的儲存位置),指針是存地址的變量,所以指針可以“指向”內(nèi)存地址。概念上講,引用變量本質(zhì)上是指針的另一個名字(但是并不能被編譯器實例化)

在函數(shù)內(nèi)像其他變量一樣定義一個引用是可能的;舉例

void main(void)  
{  
int i;  
int& r = i;  
... 
} 

但是這是沒有意義的,因為引用的使用和對引用的變量的使用是一樣的。

引用在函數(shù)的參數(shù)中被使用。

void main(void)  
{  
int i=3; 
f(i);  
cout << i;  
} 
void f(int& r)  
{  
r = 2*r;  
} 

這段程序輸出“6”(2*r使被r引用的變量加倍,也就是指i)

在C語言中,實現(xiàn)同樣的功能,我們可以通過聲明f()為void f(int *r),其中r是指向整數(shù)類型的指針,然后調(diào)用參數(shù)&i(i的地址)調(diào)用函數(shù)f(),在函數(shù)f()內(nèi)使用r的解引用,但是顯然,C++提供了一種更簡明的通過引用的方式向函數(shù)傳值,從函數(shù)中返回值。

相關(guān)文章

  • C語言kmp算法簡單示例和實現(xiàn)原理探究

    C語言kmp算法簡單示例和實現(xiàn)原理探究

    這篇文章主要介紹了C語言kmp算法簡單示例和實現(xiàn)原理探究,本文用簡潔的語言說明KMP算法的原理,并給出了示例,需要的朋友可以參考下
    2014-09-09
  • Cocos2d-x人物動作類實例

    Cocos2d-x人物動作類實例

    這篇文章主要介紹了Cocos2d-x人物動作類實例,本文用大量代碼和圖片講解Cocos2d-x中的動作,代碼中同時包含大量注釋說明,需要的朋友可以參考下
    2014-09-09
  • C語言實現(xiàn)排序算法之歸并排序詳解

    C語言實現(xiàn)排序算法之歸并排序詳解

    這篇文章主要介紹了C語言實現(xiàn)排序算法之歸并排序,對歸并排序的原理及實現(xiàn)過程做了非常詳細(xì)的解讀,需要的朋友可以參考下
    2014-07-07
  • 淺析C++中的虛函數(shù)

    淺析C++中的虛函數(shù)

    以下是對C++中的虛函數(shù)進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08
  • C語言銀行系統(tǒng)課程設(shè)計

    C語言銀行系統(tǒng)課程設(shè)計

    這篇文章主要為大家詳細(xì)介紹了C語言銀行系統(tǒng)課程設(shè)計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言的動態(tài)內(nèi)存管理的深入了解

    C語言的動態(tài)內(nèi)存管理的深入了解

    這篇文章主要為大家詳細(xì)介紹了語言C的動態(tài)內(nèi)存管理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語言實現(xiàn)的學(xué)生選課系統(tǒng)代碼分享

    C語言實現(xiàn)的學(xué)生選課系統(tǒng)代碼分享

    這篇文章主要介紹了C語言實現(xiàn)的學(xué)生選課系統(tǒng)代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • DevC++如何自定義頭文件并使用

    DevC++如何自定義頭文件并使用

    文章介紹了如何在DevC++中自定義頭文件并使用,首先創(chuàng)建一個項目,然后新建一個頭文件并編寫代碼,保存后創(chuàng)建一個源文件并將其放在項目目錄下
    2024-11-11
  • 詳解C語言編程中預(yù)處理器的用法

    詳解C語言編程中預(yù)處理器的用法

    這篇文章主要介紹了C語言編程中預(yù)處理器的用法,包括介紹了C和C++混合編程的情況,需要的朋友可以參考下
    2016-02-02
  • Java C++題解leetcode856括號的分?jǐn)?shù)

    Java C++題解leetcode856括號的分?jǐn)?shù)

    這篇文章主要為大家介紹了Java C++題解leetcode856括號的分?jǐn)?shù)實現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10

最新評論

章丘市| 临泽县| 丹棱县| 民和| 泰兴市| 老河口市| 北票市| 鹿泉市| 富阳市| 杭锦后旗| 西昌市| 达拉特旗| 泰和县| 眉山市| 庆阳市| 延边| 江油市| 西丰县| 秦安县| 上林县| 咸丰县| 桃江县| 金湖县| 甘泉县| 静宁县| 嘉义县| 那曲县| 安福县| 历史| 浦城县| 五寨县| 罗平县| 交城县| 平邑县| 临沧市| 苏尼特左旗| 闽侯县| 富顺县| 甘泉县| 图们市| 马山县|