早教吧作业答案频道 -->其他-->
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...的网友还看了以下:
搜索引掌营销的最终目的是( )。A.在搜索结果中排名靠前 B.被搜索引擎收录C.增加用户的点击率 D 2020-05-26 …
若要系统中每次缺省添加用户时,都自动设置用户的宿主目录为/users,需修改哪一个配置文件?A./e 2020-05-26 …
进入企业管理软件后可以增加用户,并定义用户权限,下列说法错误的是()。 2020-05-31 …
杏花村前年只有16户使用天燃气,去年使用天燃气的户数是前年的4倍。今年使用天燃气的又比去年增加20 2020-06-12 …
Linux下的C编程时出现warning:passingarg1of`strcpy'frominc 2020-06-14 …
账户按用途和结构分类,“制造费用”账户属于集合分配类账户,对吗?这是个判断题备抵账户与被调整账户的 2020-06-30 …
Windows在控制面板中的"用户账户"中不可以进行的操作是.Windows在控制面板中的"用户账 2020-07-14 …
某市前年有电话用户20万户,去年比前年增加百分之六十,比今年电话用户少百分之二十今年电话用户有多少 2020-07-14 …
users'systems还是user'ssystems?还是users'system?这个复数该 2020-07-21 …
为节约用水,某市做出了对用水大户限制用水的规定:每一个用水大户,月用水量不超过规定标准mt时,按3元 2020-11-06 …