Ich werde eine einfach verkettete Liste Programm mit bitfield in seiner Struktur implementieren, etwa so:Ist es in Ordnung, Bitfelder in der dynamisch zugewiesenen Struktur in C zu verwenden?
typedef struct large
{
unsigned number :4;
struct large *next;
} large;
int main()
{
large *g;
g=(large *)malloc(sizeof(large));
g->number=15;
printf("%d",g->number);
return 0;
}
Das obige Programm wird richtig arbeiten, aber ich lese in GeeksForGeeks, dass,
Wir können Zeiger auf Bitfeldelemente nicht haben, da sie möglicherweise nicht bei eine Bytegrenze beginnen.
Wird es Probleme geben, wenn ich es weiter für die Implementierung der verknüpften Liste codiere?
Was genau ist das Problem? Sie haben keine Hinweise auf Bitfeld-Mitglieder. –
Sie sind sich bewusst, dass Sie dadurch nichts retten können, oder? Und warum willst du Bitfields überhaupt benutzen? Sie machen nur Sinn, um Speicher zu sparen, sind Sie auf einer stark speicherbegrenzten Plattform? – Olaf
In C müssen Sie das Ergebnis der Rückgabe von malloc nicht eingeben – MCG