gpt4 book ai didi

c - 使用结构指针和数组编写以下函数的代码

转载 作者:行者123 更新时间:2023-11-30 15:44:28 25 4
gpt4 key购买 nike

我是 C 编程新手。谁能告诉我如何对粗体术语进行编码?

  • 创建一个名为 arrayData 的结构,其中包含一个名为 array 的整数指针和一个名为 size 的整数变量。

  • 创建一个具有以下 header 的函数:arrayData* createArray(int size)。在此函数内,您将为新的 arrayData 结构分配空间。 然后,您需要使用输入变量作为元素数量来创建一个数组。最后,您需要将 malloc'ed arrayData 指针中的变量设置为等于数组和数组大小。最后返回 malloc'ed arrayData 结构的指针。

我尝试过类似的方法:

#include<stdio.h>


struct arrayData
{
int *array;
int size;
}

struct arrayData* createArray(int size)
{
struct arrayData *str = (struct arrayData*)malloc(sizeof(struct arrayData));
int a = 10;
int arr[a];
for ( a = 0; a < 10; a++ )
{
str->arr[i] = a;
}
return str;
}

最佳答案

int arr[a]; 在函数内部本地分配,并在函数返回时被销毁。您应该动态分配str->array以进行正确的分配。

struct arrayData* createArray(int size)
{
struct arrayData *str = malloc(sizeof(struct arrayData));
int a = 10;
str->array = malloc(size * sizeof(int));
str->size = size;
for ( a = 0; a < 10; a++ )
{
str->array[i] = a;
}
return str;
}

关于c - 使用结构指针和数组编写以下函数的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com