答案中有以下代码:
void testfunc(char* outStr){
char str[10];
for(int i=0; i < 10; ++i){
outStr[i] = str[i];
}
}
int main(){
char myStr[10];
testfunc(myStr);
// myStr is now filled
}
由于我将使用内存宝贵的 Arduino,我不想要一个“临时变量”来存储一些字符串然后将其复制过来。我也不希望函数返回任何东西。我想使用上面的想法并执行以下操作:
void testfunc(char* outStr){
outStr="Hi there.";
}
int main(){
char myStr[10];
testfunc(myStr);
}
但是,在这种情况下 myStr 是空的!
为什么这不起作用?我如何解决它?
(我对 C 比较陌生,并且对指针有基本的了解)
谢谢。