"x->" dalam bahasa C ialah pengendali anak panah, digunakan untuk mengakses struktur atau ahli kesatuan yang ditunjuk oleh penunjuk Ia digunakan terutamanya dalam situasi berikut: mengakses struktur atau ahli kesatuan melalui penunjuk apabila struktur Apabila anda perlu elakkan amaran pengkompil apabila badan atau kesatuan ditakrifkan sebagai typedef
Apakah maksud "x->" dalam bahasa C?
"x->" dalam bahasa C ialah pengendali anak panah, digunakan untuk mengakses struktur atau ahli kesatuan. Ia serupa dengan pengendali titik ("."), tetapi mempunyai perbezaan utama berikut:
1 Penunjuk struktur:
Pengendali titik digunakan untuk mengakses ahli pembolehubah struktur, manakala pengendali anak panah ialah. digunakan untuk mengakses ahli pembolehubah struktur melalui Ahli struktur yang ditunjuk oleh penunjuk. Contohnya:
<code class="c">struct Person { char name[20]; int age; }; Person p = { "John", 30 }; printf("%s is %d years old.\n", p.name, p.age);</code>
<code class="c">struct Person *ptr = &p; printf("%s is %d years old.\n", ptr->name, ptr->age);</code>
2. Penyahrujukan:
Pengendali anak panah secara automatik menyahrujuk penunjuk struktur, yang bermaksud ia mula-mula mendapatkan struktur yang ditunjukkan oleh penunjuk sebelum mengakses ahlinya. Operator titik menganggap bahawa pembolehubah struktur sudah wujud dan tidak perlu dinyahrujuk.
Bila hendak menggunakan "x->"?
Pengendali anak panah digunakan dalam situasi berikut:
Contoh penggunaan:
<code class="c">// 通过指针访问结构体 struct Student { char name[20]; int marks; }; Student *s = malloc(sizeof(Student)); strcpy(s->name, "Jane"); s->marks = 90;</code>
<code class="c">// 定义 typedef 结构体 typedef struct { char name[20]; int age; } Person; Person *p = malloc(sizeof(Person)); strcpy(p->name, "John"); p->age = 30;</code>
Atas ialah kandungan terperinci Apakah maksud x- dalam bahasa C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!