为什么我在C中收到此错误?不兼容的类型

时间:2012-01-26 00:00:53

标签: c compiler-errors

15:9:错误:从'char *'类型指定类型'char [3]'时出现不兼容的类型

#include <stdio.h>


int main(int argc, char *argv[])
{

     char servIP[3];
     int servPortNum;
     if(argc<3)
     {
         printf("Usage: clientApp servIP servPortNum\n");
     }

     servIP = argv[1];
     servPortNum = atoi(*argv[2]);


}

4 个答案:

答案 0 :(得分:2)

strncpy (servIP, argv [1], sizeof (servIP) - 1);
servIP [sizeof (servIP) - 1] = 0;

但是你确定servIP足够大了IP地址吗?

答案 1 :(得分:1)

您无法分配数组。使用strcpystrncpy函数复制char数组中的字符串。

答案 2 :(得分:0)

servIP是一个数组,而不是指针。数组转换为指针,但它们不是同一个东西,指针不会转换为数组。

答案 3 :(得分:0)

您不能像这样分配数组。逐个成员分配,或者改为使用char *servIP