我要设置将const char*
返回char**
我希望编译器确认char*
上没有变化。
正确的语法应该是什么样?
const char* str = "some str";
void test(char const **out_str) {
*out_str = str;
}
编辑:
也许是这样吗?
char* const str = "some str";
void test(char** const out_str) {
*out_str = str;
}
答案 0 :(得分:0)
这里是一个演示程序,显示了如何调用该函数。
#include <stdio.h>
void test( char const **out_str )
{
const char *str = "some str";
*out_str = str;
}
int main( void )
{
const char *p;
test( &p );
puts( p );
}
程序输出为
some str
字符串文字具有静态存储持续时间。因此代码是有效的。
对于此声明char** const
,它表示一个指向char指针的常量指针。