Linux下的C 编程时出现warning: passing arg 1 of `strcpy' from incomp
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/08 09:51:41
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 编程时出现warning: passing arg 1 of `strcpy' from incomp
Linux下的Shell编程变量是怎样定义的...
linux下shell编程,关于sed用法的问题,
arg (仅数学公式,不是计算机里的编程语句)
gentoo linux和linux from scratch的区别
单片机c编程:*** WARNING L2:REFERENCE MADE TO UNRESOLVED EXTERNAL
编程实现strlen,strcmp,strcpy,substr,strrev,strcat字符串处理函数的功能;
英语翻译However,the C atoms of [U-13C]Arg or [U-13C/U-15N]Arg we
开机出现Warning!the previous performance of overclocking is fail
C语言编程练习题,做的时候出现了问题...
linux下的date --date的用法
c/o ARG Talent