如何将一个值从结构分配给另一个。这是我的代码。
我相信我正在分配结构的地址,这是我不想做的。我想将“temp”的值分配给“a”。我评论了我需要帮助的部分。谢谢
也是题外话..我如何发布代码而不必逐行缩进每一行?
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
typedef struct dynArrStruct
{
double value1;
int value2;
int value3;
}dynArr;
void init(dynArr* a)
{
dynArr temp;
temp.value1 = (double)(rand()) * rand() / rand();
temp.value2 = rand()%100;
temp.value3 = rand()%1000;
printf("In init(): value1: %14.5f, value2: %6d, value3: %6d\n",
temp.value1, temp.value2, temp.value3);
a = &temp; // THIS LINE
}
int main(int argc, char** argv)
{
int i;
dynArr a1[SIZE];
dynArr* a2[SIZE];
for(i = 0; i < SIZE; i++)
{
init(&(a1[i]));
init(a2[i]);
}
return 0;
}