书上说,结构体变量只能对存储属性是外部变量或静态变量进行初始化,不能对动态变量进行初始化。 问题 1. 什么叫对变量的初始化?有的书上说 定义时同时对变量进行赋值叫初始化,还有的说 第一次给变量赋值叫初始化。 上述两种说法对么?全面么? 完整的定义是什么? 2. 为什么结构体变量不能对动态变量进行初始化?如 #include<stdio.h> main() {struct {int a;char b;} st={3,‘s’}; ........} 这样默认结构体变量是auto类型,是不对的吗?必须在前面加上static类型符么? 3. 为什么不能对动态结构体变量进行初始化?原因是什么? 4.除了struct类型以外,还有什么类型的动态结构体变量不能被初始化?