Ya, bahasa C NULL
boleh digunakan dalam struktur, tetapi hanya pada ahli yang menjadi penunjuk. Struktur tidak boleh secara langsung memegang nilai NULL
sebagai data yang wujud; NULL
mewakili ketiadaan alamat memori yang sah, dan oleh itu, ia hanya masuk akal dalam konteks penunjuk. Sebagai contoh, jika struktur mengandungi penunjuk kepada struktur lain atau kepada pelbagai data yang diperuntukkan secara dinamik, ahli penunjuk boleh diberikan NULL
untuk menunjukkan bahawa tiada ingatan telah diperuntukkan atau penunjuk tidak menunjuk pada apa -apa yang sah. Memulakannya ke
dalam setiap
juga penunjuk, dan ia juga boleh ditetapkan ke#include <stdio.h> #include <stdlib.h> struct Node { int data; struct Node *next; // Pointer to the next node in a linked list }; int main() { struct Node *head = NULL; // Initially, the list is empty // ... (code to allocate and link nodes) ... return 0; }
dalam ahli bukan penunjuk struktur (mis., Menugaskan head
kepada ahli struct Node
) akan menghasilkan kesilapan penyusunan. Ini amat berguna apabila bekerja dengan struktur yang diperuntukkan secara dinamik atau apabila anda ingin mewakili keadaan kosong atau tidak dikenali. Menugaskan NULL
dengan berkesan menetapkan penunjuk kepada sifar, menunjukkan bahawa ia tidak menunjuk kepada memori yang diperuntukkan. Kenyataan next
menunjukkan bagaimana untuk memeriksa sama ada penunjuk struktur adalah struct Node
sebelum cuba untuk membantahnya. Ini adalah kesilapan serius yang dapat ditunjukkan dalam pelbagai cara, termasuk: NULL
NULL
Pengurusan memori: Atas ialah kandungan terperinci Bolehkah null digunakan dalam struktur dalam c?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!