C将char **指向另一个起始位置?

时间:2012-02-29 21:11:12

标签: c string pointers

我目前有一些形式

char** args = { "a", "s", "d", "f" };

我想要的是

char** newArgs = { "s", "d", "f" }; 

最简单的方法是什么?

感谢。

3 个答案:

答案 0 :(得分:9)

也许这就是:

newargs = args + 1;

或者也许:

newargs = &args[1];

答案 1 :(得分:3)

如果你想要一组独立的指针:

char **newArgs = calloc(3, sizeof(*newArgs));
memcpy(newArgs, args + 1, 3*sizeof(*newArgs));

否则:

char **newArgs = args + 1;

答案 2 :(得分:1)

你可以使用

newArgs = &args[1];