ポインタ (*) は変数アドレスを格納し、変数値にアクセスして変更するために使用されます。アドレス演算子 (&) は変数のアドレスを取得します。変数はポインターに割り当てたり、関数に渡したりすることができます。違いは、ポインターは逆参照できるのに対し、アドレス演算子自体は変数値にアクセスできないことです。
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言語のアプリケーションシナリオと*と&の違いをマスターするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。