C 如何定义常量结构

C 如何定义常量结构,c,C,有人能给我一些关于常数结构的想法吗? 请张贴一些例子。 在我的结构中,我只定义常量成员,而不是变量,那么这就是常量结构吗? 或者在另一个结构中,变量和成员都是常量,这就是常量结构 这两种结构的区别是什么?哪一种结构是常数 struct学生{ 常数整数 }斯图 struct学生{ 常数整数 }康斯特斯图 < P> C.中没有一个常量结构的形式定义,我们可以考虑用 const 声明的结构对象是一个常量结构。例如,如果我们有: struct X { int q; }; const struct X

有人能给我一些关于常数结构的想法吗? 请张贴一些例子。 在我的结构中,我只定义常量成员,而不是变量,那么这就是常量结构吗? 或者在另一个结构中,变量和成员都是常量,这就是常量结构

这两种结构的区别是什么?哪一种结构是常数

struct学生{
常数整数
}斯图

struct学生{
常数整数

}康斯特斯图

< P> C.中没有一个常量结构的形式定义,我们可以考虑用<代码> const 声明的结构对象是一个常量结构。例如,如果我们有:

struct X { int q; };

const struct X foo = { 3 };
struct X { const int q; };

struct X foo = { 3 }, bar = { 4 };

那么我们可以考虑<代码> FoO 是一个常量结构。我们可以使用`typedef:

typedef const struct X { int q; } ConstantX;

ConstantX foo = { 3 };
<> P> >代码>康斯坦特是合理的结构类型。

请注意,将成员声明为
const
并不定义常量结构。如果我们有:

struct X { int q; };

const struct X foo = { 3 };
struct X { const int q; };

struct X foo = { 3 }, bar = { 4 };
那么我们不能直接修改成员
q
;C编译器将对以下各项发出诊断:

foo.q = 5;
然而,结构本身并不是恒定不变的,我们可以改变它;C编译器将接受:

foo = bar;

您应该发布一些您正在思考的代码示例。如果不显示代码,就很难知道您是否在正确的轨道上。请在问题中编辑代码-不要试图将其视为注释。只需在对象定义前添加
const
const struct my_struct my_const_object={initial member values here}。你在寻找更多的东西吗?结构中“变量”和“成员”之间的区别是什么?