C语言结构体struct

#include <stdio.h> struct asd { int a; }; int main() { struct asd as; struct asd *asf=(struct asd*)malloc(sizeof(struct asd)); as.a = 99; asf->a = 998; printf("%d\n", asf->a); printf("%d", as.a); return 0; }

#include <stdio.h>
struct asd {
	int a;
};
int main()
{
	struct asd as;
	struct asd *asf=(struct asd*)malloc(sizeof(struct asd));
	
	as.a = 99;
	asf->a = 998;
	printf("%d\n", asf->a);
	printf("%d", as.a);
	return 0;

}

1>C:\Users\ZPS\Desktop\VS_C\tou_yuan_item\tou_yuan_item\main.c(8,31): warning C4013: “malloc”未定义;假设外部返回 int 1>C:\Users\ZPS\Desktop\VS_C\tou_yuan_item\tou_yuan_item\main.c(8,57): warning C4312: “类型强制转换”: 从“int”转换到更大的“asd *”

缺少对 <stdlib.h> 头文件的引用,因此导致编译器无法识别 malloc() 函数。此外,还需要注意将 malloc() 返回的指针转换为 struct asd* 类型。

#include <stdio.h>
#include <stdlib.h>

struct asd {
    int a;
};

int main() {
    struct asd as;
    struct asd *asf = (struct asd*)malloc(sizeof(struct asd));
    
    as.a = 99;
    asf->a = 998;
    
    printf("%d\n", asf->a);
    printf("%d\n", as.a);
    
    free(asf); // 记得释放动态分配的内存
    
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值