中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言中"&"怎么用

發布時間:2020-06-12 16:11:17 來源:億速云 閱讀:428 作者:元一 欄目:編程語言

C語言

C語言是一門面向過程的計算機編程語言,與C++、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易于調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%~20%。因此,C語言可以編寫系統軟件。

C語言中&定義

C語言中&可以作為“按位與”或是“取地址”運算符,按位與運算符也是雙目運算符,其功能是參與運算的兩數各對應的二進位相與,而取地址運算符就是一元運算符,會將運算結果設置為右操作對象的地址。

按位與運算符

是將二進制數按照位的對應相與,得到一個新的二進制數。1與0為zhi0;1與1為1;0與0為0。

分析如下:

就是二進制的每一位相與。

比如:1010 0011& 0000 1111,結果為0000 0011。也就是與上0相當于把那位數清0,與上1相當于把那位保留。

C語言中"&"怎么用

取地址運算符

對于c語言中的&運算符,定義:(&p)則是這樣一種運算,返回當時聲明p 時開辟的地址;但是根據我對代碼的觀察,我覺得&運算符不只是返回地址的功能;

例如:

int a = 1;
//假設a的地址是0x7dfe88
int *p = (int *)0x7dfe88;
int num = 1;
int *p1 = #

以上是一段簡單的給指針p,p1賦值的代碼,0x7dfe88是一段單純的十六進制地址,但是當地址轉指針的時候卻必須加上強轉(int *);如果不加強轉,那么編譯器就會提出警告( warning C4047: “初始化”:“int *”與“int”的間接級別不同);但是使用&運算符取地址的時候卻不需要加任何強轉就能編譯通過,說明&運算符絕不是的獲取地址那么簡單,“=”賦值運算符的運算順勛是從右向左,說明"="的右邊也是一個指針,所以在此假設&運算符會取出num的地址,并且根據num的類型生成一個臨時的指針。

根據假設,寫出如下代碼驗證:

int num = 1;
double *p1 = #

結果編譯器報“ warning C4133: “初始化”: 從“int *”到“double *”的類型不兼容”錯誤。所以我的假設有一定的道理。

以上就是C語言中&是什么意思?的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

上林县| 石台县| 曲麻莱县| 武夷山市| 城固县| 金湖县| 皮山县| 资溪县| 长治县| 得荣县| 富川| 盖州市| 徐闻县| 定兴县| 景德镇市| 澄迈县| 义马市| 团风县| 璧山县| 景洪市| 彭州市| 巫溪县| 阿拉善右旗| 武夷山市| 修水县| 二连浩特市| 乌兰察布市| 徐州市| 油尖旺区| 彭山县| 民权县| 黑河市| 蓝田县| 会同县| 酉阳| 武陟县| 台东市| 眉山市| 温宿县| 文安县| 从化市|