早教吧 育儿知识 作业答案 考试题库 百科 知识分享

Linux下的C编程时出现warning:passingarg1of`strcpy'fromincompatiblepointertype是什么意思?怎么改?源程序部分代码:voidmain(){//往用户列表中添加用户信息strcpy(&users[0].username,"laura");strcpy(&us

题目详情
Linux下的C 编程时出现warning: passing arg 1 of `strcpy' from incompatible pointer type是什么意思?
怎么改?源程序部分代码:void main()
{
//往用户列表中添加用户信息
strcpy(&users[0].username,"laura");
strcpy(&users[0].password,"123");
strcpy(&users[1].username,"linda");
strcpy(&users[1].password,"123");
strcpy(&users[2].username,"Mike");
strcpy(&users[2].password,"123");
int listenfd, confd;//监听时的返回值
struct sockaddr_in server;//server端的地址信息
struct sockaddr_in client0;//有用户来建立连接时,用户的地址信息
socklen_t addrlen;//sockaddr_in结构的长度
dataBase=(fileP)malloc(sizeof(file));//在主程序中首先给dataBase指针分配内存
dataBase->next=NULL;
if((listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
perror("socket() error.");
exit(1);
}
▼优质解答
答案和解析
warning:passing arg 1 of `strcpy' from incompatible pointer type
意思是,函数strcpy()函数的第一个参数引用不完全的指针类型
strcpy将后面的字符串复制给第一个参数(指针)所指向的一片存储区.
从你的代码来看,username,password...都是一个char 类型的值,你只是把这个值用取地址变为了char * ,但是,&username可用的地址空间只有1,而用strcpy所复制的字符串长度是不定的,
所以,strcpy()引用了非法地址,报警告.
看了 Linux下的C编程时出现w...的网友还看了以下:

判断题:以下表述是从上表信息中得出的,在下边括号上填“A”;违背了上表信息所表达的意思的,在下边括  2020-05-12 …

在国家英文缩写中…AT代表什么?DK代表什么?US代表什么?  2020-05-13 …

已知白菜叶下表皮气孔数多于上表皮,现取甲、乙、丙、丁四片大小、质量相同的新鲜白菜叶,作如下处理:甲  2020-05-13 …

下面是集中植物的气孔分布在叶片上、下表面的数量表(单位:个/cm2).除此之外还可以提什么问题?下  2020-05-13 …

植物光合作用速率的影响--请指教谢谢!比较植物总光合产量的多少()A.尖叶,叶上表面大于下表面.B  2020-05-21 …

EXCEL表1单元格等于表2单元格序列填充如下,表1为分部门输入,表2为汇总,要求表1输入资料,在  2020-06-10 …

一长方体铝块,在水里漫漫下沉,下沉过程铝块上表面总保持水平.(1)当铁块上表面没入水面下沉到某位置  2020-07-17 …

已知白菜叶下表皮气孔数多于上表皮。现取甲、乙、丙、丁四片大小、重量相同的新鲜白菜叶,作如下处理:甲乙  2020-11-07 …

一般来说,植物叶的上、下表皮都有保卫细胞,上下表皮中保卫细胞的数量关系为A、一样多B、上表皮多,下表  2020-11-29 …

为什么气孔分布在下表头皮多减少水分散失我考试一道生物题:叶片上、下表皮气孔分布情况及意义是:A。上表  2020-12-25 …