struct中的动态数组

时间:2016-04-21 13:02:07

标签: malloc

你好我想在我的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));

1 个答案:

答案 0 :(得分: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