structとtypedef structの違い

716 ワード

  • まず://注意CとC++では異なるCで構造体タイプを定義するにはtypedef:
  • を使用します.
    	typedef struct Student
        {
        int a;
        }Stu;
    

    変数を宣言するときはStu stu 1、typedefがなければstruct Student stu 1で宣言しなければなりません.ここのStuは実はstruct Studentの別名です.Stu==struct Student.
    でもc++では簡単で、直接
    	struct Student
        {
        int a;
        }; 
    

    そこで、構造体タイプStudioを定義し、変数を宣言するときに直接Studio stu 2を定義します.
    2.次に、c++でtypedefを使うと、また違いが生じます.
    	struct   Student  
        {  
        int   a;  
        }stu1;//stu1     
    
    	typedef   struct   Student2  
        {  
        int   a;  
        }stu2;//stu2        =struct Student  
    

    使用時にstu 1に直接アクセスできます.a,しかしstu 2はまずstu 2 s 2,それからs 2でなければならない.a=10;