基础:充分理解指针的概念
定义结构体
#include<iostream>
using namespace std;
struct student
{
int sid;
string name;
string sex;
};
两个函数一个是展示,一个是添加
void show_struct(struct student* ps);
void add_stuct(struct student* ps);
void add_stuct(struct student* ps)
{
ps->name = "hello world";
ps->sex = "女";
ps->sid = 10;
}
void show_struct(struct student *ps)
{
cout << "姓名:" << ps->name << endl;
cout << "性别:" << ps->sex << endl;
}
typedef struct student *ST ST2;
//ST 指针变量指向struct student 的首地址,
//ST代表的 struct student *
//ST代表的 struct student
用法1
ST2 st;
ST st3=&st;
add_stuct(st3);
show_struct(st3);
当然还可以这样做
typedef struct student
{
int sid;
string name;
string sex;
}ST3,*ST4;
函数这样定义
void show_struct(ST3* ps);
void add_stuct(ST4 ps);
void add_stuct(ST3* ps)
{
ps->name = "hello world";
ps->sex = "女";
ps->sid = 10;
}
void show_struct(ST4 ps)
{
cout << "姓名:" << ps->name << endl;
cout << "性别:" << ps->sex << endl;
}
主函数
ST3 st2;
ST4 st3=&st2;
add_stuct(st3);
show_struct(st3);
return 0;