gpt4 book ai didi

c - 使用结构体成员定义变量

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

我是初学者,正在上课。知识水平=非常低。

Error is expedected identifier or '(' at the l of list[0] (and list[1] etc..

void hardcode(count, &list[SIZE]) 
{
struct family list1 = { "test", "case", 'F', '1', '1', '1', 2500, 2000 };
list[0] = list1;
struct family list2 = { "test2", "case2",'M', '4', '4', '2', 5000,1970 };
list[1] = list2;
}

我已在我的 main() 中声明了该结构。struct test list[SIZE],然后调用此函数并向其传递计数器和结构。

最佳答案

void hardcode(count, &list[SIZE]) 不是 C 中的有效声明,原因有两个:

  • 您必须指定参数的类型,例如void hardcode(int count, struct test list[SIZE])。 (注意 count 插入了 intlist 插入了 struct test。)

  • C 没有内置引用;您不能使用 & 来描述参数的类型。当您传递数组时,它将自动转换为指向其第一个元素的指针,并用作对数组的引用。所以你可以简单地声明上面的函数。 (虽然struct test list[SIZE]声明了一个数组,但是当它是函数参数时,它会自动调整为指向数组元素的指针类型。所以实际上传递一个数组参数传递一个指针,接收数组参数实际上接收的是一个指针。)

关于c - 使用结构体成员定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53633128/

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