定义C结构时的问题...(AKA沮丧)

时间:2015-06-29 20:49:05

标签: c struct

嘿所以我只想尝试定义一个结构。我可能是个白痴,但是嘿,我正在努力。

这样做:

struct Neuron{
    float mu;
    float stim[10];
    float hist[10];
    int ns[10000];
    float st[10000];
    float cup[8][10];

};


struct Neuron nur1;


nur1.mu = -0.7;

获取此信息:

error: unknown type name 'nur1'

我不明白为什么会这样。它都在同一个.c文件中。也许编译问题?只需在mac OS X上使用gcc my_file.c。< 3< 3

3 个答案:

答案 0 :(得分:2)

你不能只是这样说nur1.mu = -0.7。尝试将它放在一个函数中(可能是你的main函数):

int main()
{
nur1.mu = -0.7;
}

答案 1 :(得分:1)

你需要一个主要功能;否则编译器不知道在哪里寻找第一个函数的开始。结构在main()之外声明,其他内容如下:

.site-branding {
  padding: ...
}

.logo {
  height: ...
}

答案 2 :(得分:0)

如果只是正确初始化结构,可以使用初始化程序。这在文件级别(仅使用常量表达式)或局部变量允许。

struct Neuron nur1 = {
    .mu = -0.7;
};

.mu之类的语法称为指定的初始化程序(C99)。

请注意,这将在程序启动期间执行一次,并且还会将所有未显式初始化的字段初始化为0,就像任何全局对象一样(请参阅C11 6.7.9p10)。