指针上的指针差异netbeans gdb调试器和gcc

时间:2012-07-16 17:50:09

标签: c linux netbeans

我的问题是

void function (const char **params)     
{
    const char *para;       
    para = &params[0]; //1
    para = params;     //2
    para = *&params;   //3 
}

所有3个选项都将由Netbeans gdb编译,但gcc表示从非兼容指针类型中分配。

为什么会有这种差异......得到了gcc 4.6.1以及我在gcc中可以做什么来指向** params的值* para

1 个答案:

答案 0 :(得分:3)

在所有三种情况下,右侧的类型为const char **,如果没有强制转换,则无法将其分配给const char *

如果你将警告级别调高到足够高,所有编译器都应该警告你。

目前尚不清楚你想做什么;如果你想指向第一个子数组的开头,那么这将起作用:

para = params[0];