Bäume und Zeiger in C?
#include <stdio.h>
#include <stdlib.h>
struct TreeNode {
int key;
struct TreeNode* left;
struct TreeNode* right;
};
struct TreeNode* createNode(int key) {
struct TreeNode* newNode = (struct TreeNode*)malloc(sizeof(struct TreeNode));
newNode->key = key;
newNode->left = newNode->right = NULL;
return newNode;
}
int main()
{
struct TreeNode* root = createNode(1);
root->left = createNode(2);
root->right = createNode(3);
root->left->left = createNode(4);
root->left->right = createNode(5);
// Weitere Operationen können hier durchgeführt werden
return 0;
}
Diesen Code habe ich von ChatGPT. Ich verstehe folgende Zeile nicht:
struct TreeNode* createNode(int key)
Verstehe ich richtig, dass createNode einen Zeiger auf TreeNode bildet und somit Zugriff auf dessen Speicher das. Wenn ja, hat er dann auch Zugriff auf den Speicherinhalt, also was da drin steht? Wenn dies auch der Fall ist was genau bringt es mir hier?