在 C 中声明一个与数组一起使用的结构
Declaring a struct which works with an array in C
程序应该计算向量的大小,然后打印出结果。我可以管理所有这些工作,但我在实际声明结构时遇到了问题。
程序将提示用户输入他们想要存储的矢量数。
所以我没有分配我的结构数组,稍后我会用 malloc()/free()
但这就是我想要做的
struct vector *array
{
double x;
double y;
double z;
}
x.y.z 是向量的点,我假设数组的每个元素都包含 x、y、z 但是这在我编译时不起作用,它给我错误“,”"asm"之前没有找到{所以我把=像这样
struct vector *array=
{
double x;
double y;
double z;
}
然后它在找不到双精度之前给了我表达式
我做错了什么??
没弄清楚再说。
我试图让用户输入要使用的向量数量,然后该数字将在 malloc 中用于为结构数组分配内存,我假设数组的每个元素都将包含 x.y.z
结构的新手,因此非常感谢帮助。
struct vector
{
double x;
double y;
double z;
};
struct vector *array;
现在数组是指向结构向量的指针,您可以通过使用 malloc()
分配所需的内存来创建它的实例,并为每个实例的结构字段赋值。
喜欢
array = malloc(sizeof(struct vector) *n ); /* n = size inputted by user */
for(i=0;i<n;i++)
{
array[i].x = <someval>;
array[i].y = <someval>;
array[i].z = <someval>;
}
程序应该计算向量的大小,然后打印出结果。我可以管理所有这些工作,但我在实际声明结构时遇到了问题。
程序将提示用户输入他们想要存储的矢量数。
所以我没有分配我的结构数组,稍后我会用 malloc()/free()
但这就是我想要做的
struct vector *array
{
double x;
double y;
double z;
}
x.y.z 是向量的点,我假设数组的每个元素都包含 x、y、z 但是这在我编译时不起作用,它给我错误“,”"asm"之前没有找到{所以我把=像这样
struct vector *array=
{
double x;
double y;
double z;
}
然后它在找不到双精度之前给了我表达式
我做错了什么??
没弄清楚再说。
我试图让用户输入要使用的向量数量,然后该数字将在 malloc 中用于为结构数组分配内存,我假设数组的每个元素都将包含 x.y.z
结构的新手,因此非常感谢帮助。
struct vector
{
double x;
double y;
double z;
};
struct vector *array;
现在数组是指向结构向量的指针,您可以通过使用 malloc()
分配所需的内存来创建它的实例,并为每个实例的结构字段赋值。
喜欢
array = malloc(sizeof(struct vector) *n ); /* n = size inputted by user */
for(i=0;i<n;i++)
{
array[i].x = <someval>;
array[i].y = <someval>;
array[i].z = <someval>;
}