segmentation fault (core dumped) pointer struct data type

user6543933

i am trying to create a tree using struct in C

#include<stdio.h>
#include<stdlib.h>

struct node{
  int data;
  struct node * next, * left, * right;
};

struct node * createtree(int data){
  struct node * kosong = (struct node*)malloc(sizeof(struct node*));
  kosong->data = data;
  kosong->left = kosong->right = NULL;
  return kosong;
}

void printtree(struct node * tree){
  if(tree == NULL) return;
  printtree(tree->left);
  printf("%d ",tree->data);
  printtree(tree->right);
}

int main(){
  struct node * pohon = NULL;
  pohon = createtree(1);
  pohon->left = createtree(2);
  pohon->right = createtree(3);
  pohon->left->left = createtree(4);
  pohon->left->right = createtree(5);
  printtree(pohon);
}

whenever i compile it gets segmentation fault. Then i try to delete the * next pointer and it compiles & run successfully. I know tree does not need the * next pointer , but i dont see why it wont compile just because of another same pointer. Appreciate your help.

CRoemheld

To help you understanding the mistake:

  • first line in function createtree(int data):

    struct node * kosong = (struct node*)malloc(sizeof(struct node*));
    

    should actually be

    struct node * kosong = (struct node*)malloc(sizeof(struct node));
    

    Because you are allocating memory for a struct node, not for a pointer to a struct node.

And this is the actual reason for your segfault. I compiled the code with only fixing this mistake and it worked absolutely fine. Of course you should try initializing all pointers and variables, as doing not might end in undefined behaviour, which can be anything, just like segmentation faults.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

C - Pointer to dynamic array in struct "Segmentation fault (core dumped)"

From Dev

basic pointer use: segmentation fault, core dumped

From Dev

Segmentation fault (core dumped)

From Dev

Segmentation fault (core dumped)

From Dev

Segmentation fault core dumped in C while trying to create memory for a Struct

From Dev

Segmentation fault (core dumped) when I delete pointer

From Java

what is Segmentation fault (core dumped)?

From Dev

Segmentation fault (core dumped) issue

From Dev

Segmentation fault error (core dumped)

From Dev

Segmentation fault (core dumped) and zlib

From Dev

Segmentation fault (core dumped) with Threads

From Dev

Segmentation fault (core dumped) OpenMP

From Dev

Segmentation fault (core dumped 139)

From Dev

rviz Segmentation fault (core dumped)

From Dev

Segmentation fault (core dumped) - GIMP

From Dev

Segmentation fault(core dumped) C

From Dev

Segmentation fault (core dumped) - GIMP

From Dev

python Segmentation fault (core dumped)

From Dev

Segmentation fault (core dumped) c

From Dev

Segmentation Fault(core dumped) - Structure;

From Dev

Segmentation fault (core dumped) in c

From Dev

segmentation fault core dumped in c

From Dev

primusrun: Segmentation fault (core dumped)

From Dev

Segmentation fault (core dumped) in program

From Dev

rviz Segmentation fault (core dumped)

From Dev

C - Segmentation Fault (core dumped)

From Dev

Segmentation fault (core dumped) in C

From Dev

RPC: Segmentation Fault (core dumped)

From Dev

Pointer of a struct with vector - Segmentation Fault