如果我创建一个结构并且在该结构的一个元素中我分配一个值,每当我声明该结构时,该元素是否具有值而不是垃圾?
例如:
typedef struct {
int var1 = 10;
int var2;
} coordinates_t;
每当我创建一个类型为coordinate_t的变量时,该变量的元素var1将为10?
如果没有,有没有办法做到这一点,还是我必须为每个我创建的结构创建0?
该问题的代码版本:
typedef struct {
int v1 = 10;
int v2;
} numbers_t;
numbers_t player1;
printf("%d", player1.v1);
//What will be the output?
答案 0 :(得分:0)
通过"勇敢"我认为你的意思是"价值"。
我还假设C ++ 11,因为C ++ 03不允许使用该语法。
是的,每次构造结构时,您都默认使用值10初始化int v1
。
答案 1 :(得分:0)
_"每当我创建一个类型为coordinate_t的变量时,该变量的元素var1将为10?" _
c++是的。
typedef struct {
int v1 = 10;
int v2;
} numbers_t;
int main() {
numbers_t player1;
printf("%d", player1.v1);
}
输出
10