c - 声明多个指针
问题描述
我正在尝试从 argv 数组中定义多个指针,但没有成功。
char *val1, *val2, *val3, *val4 = argv[1], argv[2], argv[3], argv[4];
file.c: In function 'valid_args':
file.c:108:60: error: conflicting types for 'argv'
char *val1, *val2, *val3 = argv[1], argv[2], argv[3];
^
file.c:108:51: note: previous declaration of 'argv' was here
char *val1, *val2, *val3 = argv[1], argv[2], argv[3];
^
file.c:127:60: error: conflicting types for 'argv'
char *val1, *val2, *val3 = argv[1], argv[2], argv[3];
^
file.c:127:51: note: previous declaration of 'argv' was here
char *val1, *val2, *val3 = argv[1], argv[2], argv[3];
^
file.c:128:24: warning: initialization makes pointer from integer without a cast [enabled by default]
char *val4 = argv[4];
解决方案
您的代码中存在语法错误。
更好的方法:
char *var1, *var2, *var3, *var4;
var1 = argv[1];
var2 = argv[2];
var3 = argv[3];
var4 = argv[4];
它也更具可读性。