使用靜態陣列 static array
#include
float *fun(void)
{
int i;
static float fArray[10];
for( i = 0; i < 10; i++ )
fArray[i] = i + i / 2.0f;
return fArray;
}
int main(void)
{
int i;
float *fPtr;
fPtr = fun();
for( i = 0; i < 10; i++ )
printf( "%f\t", fPtr[i] );
printf("\n");
return 0;
}
使用結構
#include
struct fArray
{
float data[10];
};
struct fArray fun(void)
{
int i;
struct fArray tempArray;
for( i = 0; i < 10; i++ )
tempArray.data[i] = i + i / 2.0f;
return tempArray;
}
int main(void)
{
int i;
struct fArray data;
data = fun();
for( i = 0; i < 10; i++ )
printf( "%f\t", data.data[i] );
printf("\n");
return 0;
}
使用動態記憶體
#include
#include
float *fun(void)
{
int i;
float *tempArray;
tempArray = malloc(sizeof(float)* 10);
if( tempArray == NULL )
exit(1);
for( i = 0; i < 10; i++ )
tempArray[i] = i + i / 2.0f;
return tempArray;
}
int main(void)
{
int i;
float *data;
data = fun();
for( i = 0; i < 10; i++ )
printf( "%f\t", data[i] );
printf("\n");
free(data);
return 0;
}
使用傳址呼叫
#include
#include
void fun(float tempArray[])
{
int i;
for( i = 0; i < 10; i++ )
tempArray[i] = i + i / 2.0f;
}
int main(void)
{
int i;
float data[10];
fun(data);
for( i = 0; i < 10; i++ )
printf( "%f\t", data[i] );
printf("\n");
free(data);
return 0;
}
-
沒有留言:
張貼留言