C语言中出现[Error] assignment to expression with array type

1.原因

数组不能直接给数组赋值
指针不能直接给数组赋值

2.解决办法

char a[] = {'h','e','l','l','o'};
char b[5];
char* p = NULL;

//错误情况
char c[5] = a; // 不可直接将数组赋值给数组
char d[5] = p; // 不可将指针直接赋值给数组

//正确情况
*p = a; //将数组首元素地址赋值给指针 
strcpy(b,a);//使用标准字符拷贝函数对数组进行赋值
char **p1 = &p;//二级指针可以接收一级指针地址

结构体出现这种问题

需要使用strcpy或者strncpy函数拷贝

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值