c指针对指针的区别netbeans gdb调试器和gcc



我的问题是

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中做些什么来指向带有*para 的**params的值

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

如果您将所有编译器的警告级别提高到足够高,那么它们都应该对此发出警告。

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

para = params[0];

最新更新