早教吧作业答案频道 -->其他-->
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);
}
怎么改?源程序部分代码: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()引用了非法地址,报警告.
意思是,函数strcpy()函数的第一个参数引用不完全的指针类型
strcpy将后面的字符串复制给第一个参数(指针)所指向的一片存储区.
从你的代码来看,username,password...都是一个char 类型的值,你只是把这个值用取地址变为了char * ,但是,&username可用的地址空间只有1,而用strcpy所复制的字符串长度是不定的,
所以,strcpy()引用了非法地址,报警告.
看了 Linux下的C编程时出现w...的网友还看了以下:
●1080i和1080p都是HDTV所采用的图像格式,其中“1080”指的是(42),“i”指的是( 2020-05-26 …
Linux下的C编程时出现warning:passingarg1of`strcpy'frominc 2020-06-14 …
ui和i押的是一个韵吗?刚看见网上有个人写了篇九张机.他押的事i韵(每一句的最后一个字的韵母是i) 2020-06-22 …
关于语义网的逻辑描述问题在语义网中,描述逻辑ALC中的△I指的是论域的非空集合,这个论域是什么意思 2020-07-05 …
江苏二级C的一道选择题不懂已有声明“char*1=”China”,s2[10],*s3=”Nanji 2020-11-07 …
表示一个人手艺低下的词语是不是写作矬手?这个词我不太记得了.我i问的是矬手这个词是不是写错了是蹉手还 2020-11-23 …
下列句中“为”字读“wèi”音的是[]A.故为之说B.不足为外人道也C.山峦为晴雪所洗D.或异二者为 2020-11-26 …
E=IR+Ir并联电路中I指的是哪里的电流? 2020-12-27 …
一道VC++选择题,请详细解释每个选项下列数组的定义和赋值,正确的是。A.chars[3]={“ab 2020-12-31 …
关于计算机二级c++的数组的问题已知有数组的定义chara[3][4];下列表达式中错误的是A.a[ 2021-01-01 …