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