malloc出一个结构地址,然后把地址传给结构指针,为什么会出现warning甚至编译直接出错

我用devcpp写了一小段c代码

malloc出一个结构地址,然后把地址传给结构指针,为什么会出现warning甚至编译直接出错

代码是下面的

#include<stdio.h>
typedef struct _linked
{
    int value;
    struct _linked*next;
    struct _linked*prev;
} linked;
int main(void)
{
    linked*first_add=(linked*)malloc(sizeof(linked));
    scanf("%d",first_add->value);
    printf("%d",first_add->value);
    return 0;
}

	if (first_add)
	{
		scanf("%d", &first_add->value);
		printf("%d", first_add->value);
	}

 

1)  malloc 申请到的空间要检查,不是null 才可以用, 你要加上条件判断

2)scanf 第二个参数是变量的地址, 要用  & 

 

看上面的代码。 

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^