2016-04-21 104 views
0

你好我想在C中的結構中創建一個動態數組。因此,當用戶在主數組中放置一個數字時,數組被加大並且將具有他放置的大小。如果你不明白我在這裏想做什麼,我可以做一個例子,但是有很多問題。 謝謝結構中的動態數組

#include <stdio.h> 
#include <stdlib.h> 
struct Bingo 
{ 
int arr_bingo[5][5]; 
int *pointer_to_arr; 
int bingo_choosen_ball[number]; 
}; 


int main(){ 
struct Bingo number1; 
int number; 
printf("Enter a number"); 
scanf("%d", &number); 

number1->bingo_choosen_ball = malloc(number * sizeof(int)); 
+0

谷歌爲「靈活的陣列成員」 – user3528438

回答

0

只是使用一個int指針和malloc它到所需的大小。

#include <stdio.h> 
#include <stdlib.h> 
struct Bingo 
{ 
int arr_bingo[5][5]; 
int *pointer_to_arr; 
int *bingo_choosen_ball; 
}; 


int main(){ 
struct Bingo number1; 
int number; 
printf("Enter a number"); 
scanf("%d", &number); 

number1->bingo_choosen_ball = malloc(number * sizeof(int)); 

或者你也可以使用可變長度結構。看到下面的鏈接

https://en.wikipedia.org/wiki/Flexible_array_member