在 C 語言中, 用於解引用指針,傳回指向的值;& 用於取位址,傳回指向該變數的指針。通常用於存取或修改指標所指向的值;& 通常用於建立指標或傳遞參考。
C 語言中* 和& 的區別及使用方法詳解
在C 語言中,*
和&
運算子用於處理指針,它們之間有著重要的差異。
運算子*
(解引用)
*
運算子用於解引用指針,傳回指標所指向的值。 *ptr
,其中 ptr
是指向變數的指標。 範例:
int *ptr; int value = 10; ptr = &value; // 为 ptr 分配 value 的地址 *ptr = 20; // 将 value 的值修改为 20
運算子&
(取位址)
&
運算子用於取變數的位址,傳回指向該變數的指標。 &var
,其中 var
是變數。 範例:
int value = 10; int *ptr = &value; // 为 ptr 分配 value 的地址
區別
解引用指針,
& 取變數位址。
傳回所指向的值,
& 傳回指向該值的指標。
通常在建立指標變數或將參考作為函數參數傳遞時使用。
通常在存取指標所指向的值或修改該值時使用。
實戰案例
以下是使用* 和
& 運算子的實戰案例:
#include <stdio.h> int main() { int value = 10; int *ptr = &value; // 为 ptr 分配 value 的地址 // 使用 * 解引用指针并打印值 printf("Value: %d\n", *ptr); // 使用 * 修改指针所指向的值 *ptr = 20; // 再次使用 * 打印修改后的值 printf("Modified value: %d\n", *ptr); return 0; }
輸出:
Value: 10 Modified value: 20
以上是C語言中*和&的區別及使用方法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!