将数组指针的第i个设置为c中的变量

时间:2015-09-30 10:05:46

标签: c arrays pointers

我想知道有没有办法将指针数组中的第i个或字符串设置为局部变量?

例如

char a = "string";
char b = "string2";
char *args[3];
args[0] = a;
args[1] = b;
args[2] = NULL;

因此,

agrs = {"string","string2",NULL};

谢谢!

2 个答案:

答案 0 :(得分:1)

是的,你可以做到这一点,但不能用你现在拥有的东西。必须正确声明ab -

char *a = "string";                //string literal (constant)
char *b = "string2";               // or write as char b[] = "string2"; 
char *args[3];
args[0] = a;
args[1] = b;
args[2] = NULL;

答案 1 :(得分:0)

您当然可以按变量进行索引,如果这是您所追求的目标:

char *a = "string", *b = "string2";
size_t index = 0;
char *args[3];

args[index++] = a;
args[index++] = b;
args[index++] = NULL;

我更正了ab的声明,使其成为指针。