1 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
data
create_array
malloc
void func (int x){ x = 1; printf("%d", x);}...int a;func(a);printf("%d", a); // bad, undefined behavior - the program might crash or print garbage
a
x
x
a
a
data
data
malloc
create_array
int* create_array (int size){ int* data = malloc(sizeof(*data) * size); for(int i=0; i<size; i++) { data[i] = i; } print_array(data, size); return data;}int main (void){ int* data; const int size = 5; data = create_array(size); print_array(data, size);}
void create_array (int** data, int size){ int* tmp = malloc(sizeof(*tmp) * size); for(int i=0; i<size; i++) { tmp[i] = i; } *data = tmp; print_array(*data, size);}int main (void){ int* data; const int size = 5; create_array(&data, size); print_array(data, size);}
- 1 回答
- 0 關(guān)注
- 331 瀏覽
添加回答
舉報(bào)