一、c語言中*和&的意思
在 C 語言中,* 和 & 是兩個常用的操作符,它們分別表示指針運算符和地址運算符。
*(指針運算符)
*是 C 語言中的一個運算符,用于指針變量的操作。它可以用于以下幾種情況:
1、聲明指針變量
在 C 語言中,可以使用 * 來聲明一個指針變量,例如:
int *p;
這個語句定義了一個名為 p 的指針變量,它可以指向一個 int 類型的變量。
2、獲取指針變量的值
可以使用 * 來獲取一個指針變量所指向的地址上的值,例如:
int a = 10; int *p = &a; printf(“%d\n”, *p);
這個程序會輸出 10,因為 *p 表示獲取 p 所指向地址上的值,即 a 的值。
3、修改指針變量所指向的值
可以使用 * 來修改一個指針變量所指向的地址上的值,例如:
int a = 10; int *p = &a; *p = 20; printf(“%d\n”, a);
這個程序會輸出 20,因為 *p = 20 表示將 p 所指向地址上的值修改為 20,即將 a 的值修改為 20。
4、作為運算符使用
運算符也可以作為乘法運算符使用,例如:int a = 2, b = 3; int c = a * b;
這個程序會將 a 和 b 相乘的結(jié)果賦值給 c。
&(地址運算符)
& 是 C 語言中的一個運算符,用于獲取變量的地址。它可以用于以下幾種情況:
1、獲取變量的地址
可以使用 & 來獲取一個變量的地址,例如:
int a = 10; int *p = &a;
這個程序中,&a 表示獲取變量 a 的地址,然后將這個地址賦值給指針變量 p。
2、作為位運算符使用
& 運算符還可以作為位與運算符使用,例如:
int a = 3, b = 5; int c = a & b;
這個程序會將 a 和 b 的二進制位進行按位與運算,然后將結(jié)果賦值給 c。
3、作為邏輯運算符使用
& 運算符還可以作為邏輯與運算符使用,例如:
int a = 3, b = 5; int c = (a > 2) & (b < 4);
這個程序中,(a > 2) & (b < 4) 表示將 a > 2 和 b < 4 的結(jié)果進行邏輯與運算,然后將結(jié)果賦值給 c。