【发布时间】:2013-01-06 01:03:47
【问题描述】:
我只是想知道在结构中声明和定义的变量是否可以初始化为某个值,并计划使用函数指针来模仿 OOP 中的类。
示例代码:
typedef struct{
int x;
int (*manipulateX)(int) = &manipulateX;
}x = {0};
void main()
{
getch();
}
int manipulateX(int x)
{
x = x + 1;
return x;
}
【问题讨论】:
-
我不明白你链接中的这部分“直接的答案是因为结构定义声明了一个类型而不是一个可以初始化的变量。你的例子是:struct s { int i=10 ; }; 这没有声明任何变量——它定义了一个类型。要声明一个变量,你可以在 } 和 ; 之间添加一个名称,然后你会在之后初始化它:struct s { int i; } t = { 10 };"
-
特别是说“要声明一个变量,你会在}和;之间添加一个名称,然后你会初始化它:struct s { int i; } t = { 10 };"
-
请看我编辑的帖子,添加了一些示例代码
标签: c struct initialization