所以我有一个习惯要求我定义一个有两个字段的结构:一个字段用于存储已定义大小的数组,一个字段用于存储数组的长度。然后我必须定义一个函数,它应该初始化结构中的2个字段,另一个函数打印2个字段 我只是编程的初学者,这是我编写代码的尝试,但它似乎不起作用。在此先感谢您的帮助。
#include<stdio.h>
#include<string.h>
#define SIZE 10
typedef struct stdata data{
int array[SIZE];
int length;
}
void initialize (int array[],int length){
data p;
p.array[SIZE]=array;
p.length=length;
}
void print(data p){
printf("%d %d ",p.array,p.length);
}
答案 0 :(得分:1)
你可以用两种不同的方式做到这两点:
方法1:
memcpy(p.array, array, sizeof(int) * length);
方法2 :(使用循环)
for (int i = 0; i < length; i++) p.array[i] = array[i];