我正在尝试创建一个从一个字符串派生的新的整数数组.例如 :
char x[] = "12334 23845 32084"; int y[] = { 12334,23845,32084 };
我无法理解如何从函数返回一个数组(我不明白的是).
我原来试过:
/* Convert string of integers into int array. */ int * splitString( char string[],int n ) { int newArray[n]; // CODE return ( newArray ); } int main( void ) { int x[n] = splitString( string,n ); return ( 0 ); }
后来我知道你不能这样做.
指针在函数方面如何工作?
谢谢.
解决方法
通常,您需要调用者传递结果数组.
void splitString(const char string [],int result [],int n){
// ….
}
这是有利的,因为呼叫者可以在任何他们想要的地方分配该内存.