Re: [問題] 在不同function存取array
※ 引述《shuming1008 (打工打工..)》之銘言:
: 遇到的問題:
: 我在function_a裡面,我令了一個array_123
: 並做了一些運算,將值存放於array_123中
: 離開function_a之後
: 那我要如何在function_b中將array_123中的值取出來使用呢
: 我本來以為都會存放在記憶體中可以直接拿出來用
: 但似乎並不是這麼簡單
: 請問有沒有什麼方式可以使用呢
: 我C實在是有點弱唉唉
我想到三種滿直觀的做法,不過不知道好不好 XD
第一種作法...
void function_a (int array[]);
void function_b (int array[]);
main () {
int array[100];
function_a(array);
function_b(array);
}
第二種作法...
int* function_a ();
void function_b (int *array);
main () {
function_b(function_a());
}
int* function_a () {
int *ary = (int *) malloc(sizeof(int) * 100);
/*... do your tasks ...*/
return ary;
}
第三種作法...
typedef struct {
int val[100];
} my_array;
my_array function_a ();
void function_b (my_array x);
main () {
my_array k = function_a();
function_b(k);
}
my_array function_a () {
my_array z;
/* ... do your tasks ... */
/* such as: */
/* for (int i = 0; i < 100; z.val[i++] = i);
return z;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.122.194.209
※ 編輯: Dannvix 來自: 140.122.194.209 (04/21 15:17)
推
04/21 22:03, , 1F
04/21 22:03, 1F
→
04/21 22:04, , 2F
04/21 22:04, 2F
→
04/21 22:34, , 3F
04/21 22:34, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章