我是C的新手,我需要一些处理数组的方法的帮助.来自Java编程,我习惯于说int [] method()能够返回一个数组.但是,我发现使用C时,必须在返回数组时使用指针.作为一个新的程序员,我真的根本不理解这一点,即使我已经查看了许多论坛.
基本上,我正在尝试编写一个在C中返回char数组的方法.我将使用数组提供方法(让我们称之为returnArray).它将从前一个数组创建一个新数组并返回指向它的指针.我只是需要一些关于如何开始这个以及如何在从数组发出指针后读取指针的帮助.任何解释这个的帮助表示赞赏.
建议的数组返回函数的代码格式
char *returnArray(char array []){
char returned [10];
//methods to pull values from array, interpret them, and then create new array
return &(returned[0]); //is this correct?
}
Run Code Online (Sandbox Code Playgroud)
函数的调用者
int main(){
int i=0;
char array []={1,0,0,0,0,1,1};
char arrayCount=0;
char* returnedArray = returnArray(&arrayCount); ///is this correct?
for (i=0; i<10;i++)
printf(%d, ",", returnedArray[i]); //is this correctly formatted?
}
Run Code Online (Sandbox Code Playgroud)
我还没有测试过这个,因为我的C编译器目前还没有工作,但我想弄明白这一点
char *recvmsg(){
char buffer[1024];
return buffer;
}
int main(){
char *reply = recvmsg();
.....
}
Run Code Online (Sandbox Code Playgroud)
我收到警告:
警告C4172:返回局部变量的地址或临时变量