Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 使用结构指针和数组为以下函数编写代码_C_Arrays_Pointers_Struct_Malloc - Fatal编程技术网

C 使用结构指针和数组为以下函数编写代码

C 使用结构指针和数组为以下函数编写代码,c,arrays,pointers,struct,malloc,C,Arrays,Pointers,Struct,Malloc,我是C编程新手。有谁能告诉我如何用粗体字对术语进行编码 创建一个名为arrayData的结构,该结构包含一个名为array的整数指针和一个名为size的整数变量 创建具有以下标题的函数:arrayData*createArray(int size)。在该函数中,您将为新的arrayData结构分配malloc空间然后需要使用输入变量作为元素数创建一个数组。最后,您需要将malloc'ed arrayData指针中的变量设置为数组和数组大小。最后返回malloc'ed arrayData结构的指

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

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

  • 创建具有以下标题的函数:arrayData*createArray(int size)。在该函数中,您将为新的arrayData结构分配malloc空间然后需要使用输入变量作为元素数创建一个数组。最后,您需要将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;
}
#包括
结构arrayData
{
int*数组;
整数大小;
}
结构arrayData*createArray(整数大小)
{
struct arrayData*str=(struct arrayData*)malloc(sizeof(struct arrayData));
INTA=10;
int-arr[a];
对于(a=0;a<10;a++)
{
str->arr[i]=a;
}
返回str;
}

只需对分配大小和数组进行一些更改

struct arrayData* createArray(int size)
{
  struct arrayData *str = (struct arrayData*)malloc(sizeof(struct arrayData));
  int a = 10;
  //int arr[size];       // array should be of size provided
  int *arr = (int*)malloc(size * sizeof(int));
  str->size = size;    // you should assign size to structure variable
  for ( a = 0; a < 10; a++ )
  {
      arr[i] = a; 
  }
  str->array = arr;  // you should point the array in structure to the 
                     // integer arr which you created
  return str;
}
struct arrayData*createArray(整数大小)
{
struct arrayData*str=(struct arrayData*)malloc(sizeof(struct arrayData));
INTA=10;
//int arr[size];//应提供数组大小
int*arr=(int*)malloc(size*sizeof(int));
str->size=size;//应该为结构变量指定大小
对于(a=0;a<10;a++)
{
arr[i]=a;
}
str->array=arr;//您应该将结构中的数组指向
//您创建的整数arr
返回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;
}
struct arrayData*createArray(整数大小)
{
struct arrayData*str=malloc(sizeof(struct arrayData));
INTA=10;
str->array=malloc(size*sizeof(int));
str->size=size;
对于(a=0;a<10;a++)
{
str->array[i]=a;
}
返回str;
}

int-arr[size]
在本地分配,一旦函数返回将被销毁;但是如果我想创建一个具有以下标题的函数:void setArray(arrayData*data)。在此函数中,将输入变量数组中的所有值设置为0到50之间的随机数。创建一个具有以下标题的函数:void printary(arrayData*data)。此函数将输出输入变量数组中的所有值。我该怎么做?@RipalNaik-对于这个新问题,请单独创建一个线程/页面。老实说,你甚至没有尝试编译它
arrayData
没有成员
arr