C 言語では、アスタリスク (*) 演算子はポインター変数を逆参照して、指す変数の値を取得するために使用され、アドレス演算子 (&) は変数アドレスを取得するために使用されます。具体的な比較は次のとおりです。 ポインタの逆参照: *アドレスの取得: & ポインタの乗算: *ビット演算: &
* および C での & 演算子の分析と比較言語
C 言語では、アスタリスク (*) 演算子とアドレス演算子 (&) 演算子は 2 つの重要な演算子であり、ポインター操作やメモリ管理によく使用されます。この記事では、それらの用途と違いを詳しく分析し、実際の事例を示して説明します。
アスタリスク (*) 演算子
例:
アドレス演算子 (&) 演算子
例:
比較演算子
以下は、さまざまなシナリオでの * 演算子と & 演算子の比較です:
Operator | Scenario | Function |
---|---|---|
逆参照ポインター | 変数が指す値を取得します | |
& | アドレスの取得 | 変数のアドレスの取得 |
* | ポインタの乗算 | サイズの計算ポインタが指すメモリ空間 |
& | ビット演算 (論理 AND) | 2 つの整数の論理 AND 演算を実行します |
実践的なケース
以下は、* 演算子と & 演算子がポインター操作にどのように使用されるかを示す実践的なケースです:#include <stdio.h> int main() { int i = 10; int *ptr = &i; // ptr指向i // 通过解引用指针获取i的值 printf("i的值:%d\n", *ptr); // 通过取地址获取i的地址 printf("i的地址:%p\n", &i); // 通过指针乘法计算ptr指向的内存空间大小 int size = sizeof(*ptr); printf("ptr指向内存空间大小:%d字节\n", size); // 使用指针进行递增 (*ptr)++; // 打印递增后的i值 printf("递增后的i:%d\n", i); return 0; }
i的值:10 i的地址:0x7ffe5247ef4c ptr指向内存空间大小:4字节 递增后的i:11
以上がC言語の*演算子と&演算子の解析と比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。