无法使用指针在C中的结构变量中赋值

Unable to assign value in variable of Structure in C using Pointer

我的代码:-

#include<stdio.h>
struct Demo{
    int value;
};
int main(){
    struct Demo *l;
    l->value=4;
}

获取分段错误(核心已转储)

因为 L 对象没有指向任何东西。 使用这个:

#include <iostream>
using namespace std;
struct Demo
{
    int val;    
};
int main()
{
    Demo* a = new Demo();
    a->val = 10;
    cout<<a->val;
}

您必须为 l 演示对象分配内存。在 C 中,您必须使用 malloc 分配内存。查看代码以获得更好的理解。

#include<stdio.h>
#include<malloc.h>

struct Demo{
    int value;
};

int main(){
    struct Demo *l = (struct Demo*)malloc(sizeof (struct Demo));
    l->value = 4;
    printf("%d\n", l->value);
    return 0;
}

输出

4