Dalam bahasa C, a ialah penunjuk ke alamat memori pembolehubah a, dan a ialah pembolehubah biasa. a menyimpan nilai dalam a, dan a menyimpan nilai dirinya sendiri. a mengakses nilai yang ditunjuk dengan membatalkan rujukannya, manakala a mengakses nilainya sendiri secara langsung. &a mengembalikan alamat memori a, manakala a mengembalikan alamat memori yang menunjuk ke nilai.
Perbezaan antara *a dan a dalam bahasa c
Dalam bahasa c, *a
dan a
ialah dua konsep yang berbeza antaranya adalah seperti berikut: *a
和a
是两个不同的概念,它们之间主要的区别如下:
*a
是一个指向a
变量内存地址的指针;而a
是一个普通变量。*a
的值是a
变量中存储的值;而a
的值本身。*a
可以通过解引用操作符(*
)来访问它所指向的值;而a
只能直接访问其自身的值。&a
返回a
变量的内存地址;而*a
返回a
变量中存储的值的内存地址。详细解释:
*a
表示指向变量a
的内存地址的指针。通过解引用操作符(*
),可以访问该内存地址中存储的值。a
表示一个普通变量,它存储了一个具体的值。*
)用于访问指针所指向的值。例如,*a
表示取a
指针所指向的内存地址中存储的值。&
)用于获取变量的内存地址。例如,&a
返回a
变量的内存地址。示例:
<code class="c">int a = 10; int *p = &a; printf("变量 a 的值:%d\n", a); printf("指向 a 的指针 p 的值:%d\n", *p);</code>
输出:
<code>变量 a 的值:10 指向 a 的指针 p 的值:10</code>
在这个示例中,a
是一个存储了值 10 的变量,p
是一个指向a
变量内存地址的指针。*p
解引用指针,返回a
a
dan a
code> ialah pembolehubah biasa. a
dan nilai a
; > sendiri. *
dan a hanya boleh mengakses nilainya sendiri secara langsung.
&a
mengembalikan alamat memori pembolehubah a
dan *a
mengembalikan a
*a
mewakili penunjuk ke alamat memori pembolehubah a
. Nilai yang disimpan pada alamat memori ini boleh diakses melalui pengendali dereference (*
). a
mewakili pembolehubah biasa, yang menyimpan nilai tertentu. *a
bermaksud untuk mendapatkan nilai yang disimpan dalam alamat memori yang ditunjukkan oleh penuding a
. &a
mengembalikan alamat memori pembolehubah a
. a
ialah pembolehubah yang menyimpan nilai 10 dan p
ialah penunjuk kepada alamat memori pembolehubah a
. *p
menolak rujukan penunjuk dan mengembalikan nilai yang disimpan dalam pembolehubah a
, iaitu 10. 🎜Atas ialah kandungan terperinci Perbezaan antara *a dan a dalam bahasa c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!