可能重复:
如何在 C++ 中使用数组?
我有以下 C 代码:
int main () {
char *pathvc[MAX_PATHS];
parsePath(pathvc);
struct command_t command;
command.name = lookup(command.argv, pathvc); //command.argv is: char *argv[MAX_ARGS];
}
char* lookupPath(char **argv, char **dir) {
//Some implementation
}
这是我在主函数中获得的调试信息:
名称:pathvc 详细信息:{0x804c208 "/usr/lib/lightdm/lightdm", 0x804c221 "/usr/local/sbin", 0x804c231 "/usr/local/bin", 0x804c240 "/usr/sbin", 0x804c24a "/usr /bin", 0x804c253 "/sbin", 0x804c259 "/bin", 0x804c25e "/usr/games", 0x0 } 默认值:0xbffff0a8 十进制:3221221544 十六进制:0xbffff0a8 二进制:1011111111111111110121000077770100002777010:
名称:pathvc[0] 详细信息:0x804c208 "/usr/lib/lightdm/lightdm"
名称:pathvc[1] 详细信息:0x804c221 "/usr/local/sbin"
名称:pathvc[2] 详细信息:0x804c231 "/usr/local/bin"
名称:pathvc[3] 详细信息:0x804c240 "/usr/sbin"
名称:pathvc[4] 详细信息:0x804c24a "/usr/bin"
名称:pathvc[5] 详细信息:0x804c253 "/sbin"
名称:pathvc[6] 详细信息:0x804c259 "/bin"
名称:pathvc[7] 详细信息:0x804c25e "/usr/games"
但是,当我在查找函数中传递 pathvc 时,我得到了这个:
名称:目录详细信息:0xbffff0a8 默认值:0xbffff0a8 十进制:3221221544 十六进制:0xbffff0a8 二进制:10111111111111111111000010101000 八进制:027777770250
名称:*dir 详细信息:0x804c208 "/usr/lib/lightdm/lightdm"
名称:**dir 详细信息:47 '/'
为什么我将一个指针数组传递给查找函数,该函数接受它作为双指针,但它只指向第一个路径而不是完整的路径列表。
如果我正在做/问一个非常愚蠢的问题,请原谅我,因为我对 C 中的指针不满意。