2016-04-21 8 views
0

Hallo Ich möchte ein dynamisches Array in meiner Struktur in C erstellen. So, wenn der Benutzer eine Zahl in das Hauptfeld platziert, wird das Array vereinheitlicht und wird die Größe haben, die er setzt. Wenn du nicht verstehst, was ich hier tun soll, dann ist das ein Beispiel, das ich mache, aber es gibt viele Probleme. Dank Dynamisches Array in Struktur

#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

Google für "flexible Array-Mitglied" – user3528438

Antwort

0

verwenden müssen einfach einen int Zeiger und malloc es auf eine gewünschte Größe.

#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)); 

Oder Sie können auch die Struktur variabler Länge verwenden. Siehe untenstehenden Link

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