C語言&的意思

在C語言中,& 這個符號有兩個用途:

  1. 作為運運算元:

    • 位元運運算元:& 可以用來進行位元與運算。例如:a & b 會執行變數 ab 的位元與運算。
    • 取址運運算元:& 可以用來取變數的地址。例如:int *p = &x; 這行代碼將變數 x 的地址賦給指針 p
  2. 作為分隔設定號:

    • 在變數聲明中,& 可以用來表示指針。例如:int *p; 這表示 p 是一個指向整數的指針。

以下是一個簡單的例子,展示了 & 的這些用途:

#include <stdio.h>

int main() {
    int a = 5, b = 10;
    int c;
    int *p;

    // 位元與運算
    c = a & b; // c = 5 (二進制: 00000101) & 10 (二進制: 00001010) = 00000100 = 4

    // 取地址運算
    p = &a; // p 現在指向變數 a 的地址

    // 指針聲明
    int *q; // q 是一個指向整數的指針

    return 0;
}

請注意,& 作為取地址運運算元時,它返回的是變數的地址,而不是變數的值。如果你想要取變數的值,不需要使用 &