标签: struct

为什么这个程序在C11中编译好但在C99中没编译?

请考虑以下程序:(请参阅此处的实时演示).

#include <stdio.h>
struct Test
{
    int a;
};
typedef struct Test t;
typedef struct Test t;
int main()
{
    t T={9};
    printf("%d",T.a);
}
Run Code Online (Sandbox Code Playgroud)

该程序在C11编译器中编译良好,但在C99编译器中编译失败.为什么?是什么原因?我的编译器gcc 4.8.1给出以下警告:

[Warning] redefinition of typedef 't' [-Wpedantic]
[Note] previous declaration of 't' was here
Run Code Online (Sandbox Code Playgroud)

c struct typedef c99 c11

-6
推荐指数
1
解决办法
158
查看次数

const struct {x} vs struct {const x}

这是一个相当简单的问题,但不知何故很难找到一个简单的答案.

在C++中,(编辑)const修改的结构变量和(编辑:)非const结构变量之间的区别是什么,但结构具有所有const成员?:

typedef struct mystruct {
    const int x;
} t1;
const t1 s1;
Run Code Online (Sandbox Code Playgroud)

VS

typedef struct {
    int x;
} t2;
const t2 s2;
Run Code Online (Sandbox Code Playgroud)

?(如果答案是"与课程相同",那么请为课程解释或链接到解释.)

c++ struct const constants

-7
推荐指数
2
解决办法
1363
查看次数

结构在变量定义中意味着什么?C++

在这里,我发现了一个看起来像这样的变量定义:

struct sockaddr *ai_addr;    
Run Code Online (Sandbox Code Playgroud)

它似乎是定义一个指向类型变量的指针struct sockaddr,但是

1)struct是一个关键字

2)struct sockaddr test;产生错误

aggregate 'sockaddr test' has incomplete type and cannot be defined
Run Code Online (Sandbox Code Playgroud)

(我在gcc 4.7.1下工作)

c c++ struct

-7
推荐指数
1
解决办法
227
查看次数

在类中使用结构时出错

我是C++,IDE是Visual Studio 2012.我不知道为什么我不能这样做,根本没有任何意义.正如标题所说,我正在尝试将一个结构放在一个类中,但它根本不会让我这样做.我已经尝试将它放在公共,私有,受保护,然后尝试将其置于全球范围内,并且没有任何作用.

class foobar
{
public:
    struct foo
    {
        int ass;
    };

    foo bar;
    bar.ass = 1; //getting a weird error on this line
};
Run Code Online (Sandbox Code Playgroud)

我如何在类中放置结构?谢谢你的帮助

c++ struct class

-8
推荐指数
2
解决办法
113
查看次数

为什么C不允许结构中的成员函数?

C和C++之间的一个重大区别是结构中的成员函数.C不允许函数作为结构中的成员.我知道一个解决方法是使用函数指针作为结构成员,但这只是函数模拟,它打破了范围规则.

如果C允许实际函数作为结构的成员,那将是一个很好的功能.但我不知道为什么C不这样做.有什么特别的原因吗?

c struct

-9
推荐指数
2
解决办法
101
查看次数

"" 或" - >"C struct accessor

"."之间有什么区别?访问C结构中的数据时," - >"?我几次尝试都找不到任何区别.两者都为我提供了对欲望数据的访问

c struct accessor operators

-28
推荐指数
1
解决办法
435
查看次数

这是什么意思每个代码

struct Physics {
    static let smallCoin : UInt32 = 0x1 << 1
    static let smallCoin2 : UInt32 = 0x1 << 2
    static let ground : UInt32 = 0x1 << 3
}
Run Code Online (Sandbox Code Playgroud)

那是什么意思

UInt32 = 0x1 << 1?

和静态让?

struct ios sprite-kit swift swift2

-29
推荐指数
1
解决办法
308
查看次数

标签 统计

struct ×7

c ×4

c++ ×3

accessor ×1

c11 ×1

c99 ×1

class ×1

const ×1

constants ×1

ios ×1

operators ×1

sprite-kit ×1

swift ×1

swift2 ×1

typedef ×1