指針(*)存儲變量地址,用于訪問和修改變量值。地址運算符(&)獲取變量地址,可將其賦值給指針或傳遞給函數。區別在于:指針可解引用,而地址運算符本身不能訪問變量值。
C語言中指針(*)和地址運算符(&)的應用場景與區別
指針(*)
-
聲明:使用
*
符號,后面跟變量名 - 作用:存儲變量的地址
-
用途:
- 訪問和修改變量的值(通過解引用)
- 傳遞變量的地址(作為函數的參數)
- 實現動態內存分配
地址運算符(&)
-
聲明:使用
&
符號,前面是變量名 - 作用:獲取變量的地址
-
用途:
- 將變量的地址賦值給指針
- 傳遞變量的地址(作為函數的參數)
區別
- 指針指向變量的地址,而地址運算符獲取變量的地址。
- 指針可以解引用以訪問和修改變量的值,而地址運算符本身不能訪問變量的值。
實戰案例
以下代碼示例演示了指針和地址運算符在 C 語言中的使用:
#include <stdio.h> int main() { int x = 10; // 獲取 x 的地址并將其賦值給指針 p int *p = &x; // 使用解引用運算符 * 訪問和修改 x 的值 *p += 5; // 打印修改后的 x 值 printf("x: %d\n", x); // 輸出:15 // 傳遞 p 指針作為函數的參數 myFunction(p); return 0; } void myFunction(int *ptr) { // 修改指向值的變量 *ptr = 20; }
關注:愛掏網
在這個示例中:
-
*p
解引用指針 p 并訪問指向的變量 x。 - 函數
myFunction
接收指向 x 的指針p
,并通過*ptr
修改 x 的值。
以上就是掌握C語言中*和&的應用場景與區別的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。