在一个func中为指向字符数组的指针赋值,在另一个func中使用它

在一个func中为指向字符数组的指针赋值,在另一个func中使用它,c,C,我有一个函数,它声明一个字符数组,然后给它赋值,然后衰减的指针被传递给另一个func,就像这个伪c代码一样,因此如果我执行printf(“国家%s,国家)内部另一个func它会给我“德国” 如何将调用移动到somefunc之外的另一个Func,并且仍然能够传递country char数组?现在,printf(“国家%s,”country)正在给我(空) 将指针传递给指针: void somefunc(char **pcountry) { *pcountry = "GERMANY"; } 叫

我有一个函数,它声明一个字符数组,然后给它赋值,然后衰减的指针被传递给另一个func,就像这个伪c代码一样,因此如果我执行
printf(“国家%s,国家)
内部
另一个func
它会给我“德国”

如何将调用移动到somefunc之外的另一个Func,并且仍然能够传递country char数组?现在,
printf(“国家%s,”country)
正在给我
(空)


将指针传递给指针:

void somefunc(char **pcountry) {
  *pcountry = "GERMANY";
}
叫它

somefunc(&country);

您可以执行副本中的操作,或者只需修改
somefunc
以返回指针。欢迎来到C编程的极简世界…;-)为了完整性,那么我应该向另一个func传递什么,并请显示somefunc的调用,比如
somefunc(&country)
?这就是我所做的,但它仍然为空,我要声明它
char*country
还是
char**country
char*country
。好的,非常感谢。我会在34秒后接受你的答案,让我来吧。我从编译器那里得到一个警告,使用你答案中的代码--
不兼容的指针类型将
char***`传递给'char**'类型的参数,我这样声明country:
char**country=NULL
然后将其传递给somefunc(&country)另一个func(&country)。
anotherfunc
somefunc
的签名是这样的
somefunc(char**country)
注意,我会暂时接受你的答案,因为我认为我做错了什么!再次感谢。
void somefunc(char **pcountry) {
  *pcountry = "GERMANY";
}
somefunc(&country);