#include <stdio.h>
struct mychar{
char value;
struct mychar *nextPtr;
};
typedef struct mychar Mychar;
typedef Mychar *MycharPtr;
void insert(MycharPtr *, char );
void printlist(MycharPtr);
int main(){
MycharPtr startPtr = NULL;
char b = 'b';
insert(&startPtr, b);
printlist(startPtr);
}
void insert(MycharPtr *sPtr, char newvalue){
MycharPtr newlinkPtr;
if (*sPtr == NULL){
newlinkPtr->value = newvalue;
newlinkPtr->nextPtr = NULL;
}
*sPtr = newlinkPtr;
}
void printlist(MycharPtr currentPtr){
printf("%c", currentPtr->value);
}
I'm just starting by only adding one char. If I can't even do that, I can't go on doing else.
It gives me segmentation fault, but I don't really know why.
Also, I still don't get the reason why in insert call I should write & but in printlist call I shouldn't write &.