habe ich ein sehr einfaches Programm von verknüpften Listen in C.Mit * statt -> Operator in c
#include<stdio.h>
#include<stdlib.h>
int main(){
struct Int{
int num;
struct Int *ptr;
};
typedef struct Int NODE;
NODE *start;
start = (NODE *) malloc(sizeof(NODE));
(*start).num = 100;
(*start).ptr = (NODE *) malloc(sizeof(NODE));
(*start).(*ptr).num = 123;
(*start).(*ptr).ptr = NULL;
}
Als ich ersetzen die letzten beiden Zeilen wie: -
start -> ptr -> num = 123;
start -> ptr -> ptr = NULL;
Der Fehler gelöst.
Die Frage ist, warum ich nicht (* start).
statt start ->
.Nach zu dieser Antwort What does this mean "->"? beide sind gleiche verwenden können.
Weil Punkt gefolgt werden muss von * Mitgliedsname *. – PcAF
Es wäre hilfreich, in die Frage einzubeziehen, was der "Fehler" ist. –
** Welcher ** Fehler, Sie hatten nicht den Compilerfehler in Ihrem Code. –