日期:2014-05-18  浏览次数:20732 次

关于结构的问题?请高手指教
代码如下:
  public struct Stu
  {

  public int age;
  }
//各位看仔细:
  Stu s=new Stu();
  MessageBox.Show(s.age.ToString());

上面的代码可以运行成功!?
都是copy过来的,可以直接试一下。

看书上说结构在new时可以使用构造函数,但绝对不能是无参的,那是否是说不声明构造函数而直接使用,是否调用了MS的默认构造函数?

------解决方案--------------------
探讨

再追问一个问题:
类可以给成员变量赋默认值,而构造却不可以,那么是否是说类在定义时就已经给成员变量开辟了内存空间?
如果不是,那么正确答案是什么呢?

------解决方案--------------------
看书上说结构在new时可以使用构造函数,但绝对不能是无参的,那是否是说不声明构造函数而直接使用,是否调用了MS的默认构造函数?

值类型不能有无参构造函数,值类型可以被隐式的创建!