首頁  >  文章  >  後端開發  >  C語言中取位址運算子是什麼?

C語言中取位址運算子是什麼?

烟雨青岚
烟雨青岚原創
2020-07-03 10:29:1423294瀏覽

在C語言中取位址運算子是「&」。 「&」作為一元運算符,結果是右操作物件的位址;位址本身就是一個抽象的概念,用來表示物件在記憶體中的邏輯位置。

C語言中取位址運算子是什麼?

在C語言中取地址運算子是」&「

範例:

#include <stdio.h>
int main(void)
{
    int a = 0;
    int *p = &a;
    printf("The value is: %d/n", *p);
    return 0;
}

&作為一元運算符,結果是右操作物件的位址。

例如&x回傳x的位址。

位址本身就是一個抽象的概念,用來表示物件在記憶體中的邏輯位置。至於對象,LZ現在只需知道包含常數、變數等資料就可以了。

scanf("%d,%d",&x,&y);

這裡的&x表示x的位址,&y表示y的位址。 scanf接收位址,然後把鍵盤(更確切地說是stdin輸入流緩衝區)讀入的資訊按格式字串的形式處理後存放到接收到的位址中。對純C來說,函數的參數是只能值參而不是變參,函數內部對參數的改變只影響參數本身而不影響呼叫函數時的實際參數(換句話說函數內部的只是副本)。所以這裡不能傳遞給scanfx本身,需要用位址&x指明需要存放的位置,才能把值存到x中。

等系統地學完函數和指標傳遞函數參數以後,LZ應該會對這個有比較清楚的認識。

至於讀鍵盤的活,是編譯環境(包括作業系統底層)幹的,和C語言本身無關

推薦教學:《C語言

以上是C語言中取位址運算子是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn