C中指针的声明和初始化

时间:2016-09-26 15:10:52

标签: c pointers struct

我正在刷新C中指针的初始化和声明。

我写了一段代码:

struct node
{
    int data;
    struct node* right=NULL;
    struct node* left=NULL;
};

struct node* newNode(int data) 
{
    struct node* temp = (struct node*)malloc(sizeof(struct node));

    temp->data = data;

    return temp;
}

返回错误。错误是:

  

预期';'在声明清单的末尾

   struct node* right=NULL;

然后我将代码更改为:

struct node
    {
        int data;
        struct node* right;
        struct node* left;
        right = NULL;
        left  = NULL;

    };

    struct node* newNode(int data) 
    {
        struct node* temp = (struct node*)malloc(sizeof(struct node));

        temp->data = data;

        return temp;
    }

返回了同样的错误。

最后,

我将代码更改为:

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

struct node* newNode(int data) 
{
    struct node* temp = (struct node*)malloc(sizeof(struct node));

    temp->data = data;
    temp->right=NULL;
    temp->left=NULL;

    return temp;
}

上面的代码编译没有任何错误。为什么会这样?

1 个答案:

答案 0 :(得分:4)

您无法在{Binding}声明中初始化{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}成员。你必须在你的代码外面做。 BindingExpression path error: 'TimeColumnHeaderText' property not found on 'object' ''BindingProxy' 声明声明了一个类型,而不是可以初始化的变量。