c - 从结构体数组返回元素

标签 c

我需要从结构体数组中返回一个元素。我收到错误,所以我想知道该怎么做:

-(struct Point3D)getMyColor
{
    struct Point3D
    {
        int x;
        int y;
        int z;
    };
 struct Point3D points[15] =
    {
        {204, 74, 110},
        {118, 56, 198},
        {175, 122, 231}, // I WANT TO RETURN THIS ONE TO THE CALLER
        {3, 197, 47},
        ....

    }

 return  WHAT?    // (points[4] give error)
}

最佳答案

最大的问题是你在函数内部定义结构,这意味着不可能从外部使用它。

首先将结构定义移动到调用者可以使用它的地方,然后遵循其他答案的建议。

<小时/>

顺便说一句,您的代码中也有未定义的行为。您将数组points声明为包含两个结构,但用四个对其进行初始化,从而覆盖编译器为该数组分配的空间。

关于c - 从结构体数组返回元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19676178/

相关文章:

c - float 的重复递增

c - 防止 GTK 应用程序的多个实例

c# - 将 C openssl TripleDes 加密转换为 .NET

计算字符串中特定单词的出现次数

c - 如何在Eclipse(CDT)中设置 "./configure --without-iconv"?

C代码优化,流畅的功能

由其成员选择一个随机结构

c - 将 char* 添加到链表不起作用

c - 分配 1 时,这个大小为 1 的位字段实际上是否溢出?

c - 释放缓冲区导致无效读取