学数据结构前的C/C++语法基础

一、struct与typedef的区别

在C中:

//方法一

typedef struct Student{    //有typedef关键字,声明了Student结构体类型

  int number;
  char gender;
  float score;
}stu;      

 stu stu1;   //声明变量的方式



//方法二
//在方法一的基础上,省略掉Student,进而变为一个无名结构体



//方法三

struct Student{    //没有带typedef关键字,声明了Student结构体类型

  int number;
  char gender;
  float score;
}stu;

 struct Student stu1;  //必须带上struct关键字,才能声明变量

C++中

struct Student   //定义了Student结构体类型
{
  int number;
  char gender;
  float score;
};

Student stu1;//声明stu1变量


//也可以

struct Student   //定义了Student结构体类型
{
  int number;
  char gender;
  float score;
}stu1;    //声明stu1变量
stu1.number=1 //访问成员number



//若用了关键词typedef,则

typedef sruct Student
{
 int number;
 char gender;
 float score;
}stu1;    //声明的是stu1结构体类型
stu1 freshman;    //先用结构体类型声明freshman变量
freshman.number=9; //再用freshman变量访问内部成员

二、C++中有关符号的问题(->  .  :  ::)

->   叫做指向结构体成员运算符,用处是使用一个指向结构体或对象的指针访问其内部成员

       a->b  b是a中的成员,a为指针,->成员提取

::   域操作符

.  a.b   a是实体,b是成员

:  通常用来表示继承

猜你喜欢

转载自blog.csdn.net/xenian_xerus/article/details/84620416