指標(*)儲存變數位址,用於存取和修改變數值。位址運算子(&)取得變數位址,可將其賦值給指標或傳遞給函數。差別在於:指標可解引用,而位址運算子本身不能存取變數值。
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
,並透過 *ptr
修改 x 的值。
以上是掌握C語言中*和&的應用場景與區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!