无法使用指针在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
我的代码:-
#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