我了解这一点:int i = 3; // declaration with definition 它告诉编译器执行以下操作:在内存中保留空间以容纳整数值。 将名称与内存位置相关联。 将值3存储在此位置。 但是此声明告诉编译器什么:int i; // declaration 最佳答案 该声明告诉编译器为变量i保留空间,并将名称i与该空间关联(您的点1.和2.)。如果i是全局变量,则将其初始化为0。如果它是本地的,则i的值是不确定的(可能是垃圾,即一些随机值),您应该在读取它之前将其赋值。