#include <iostream> #include <string> using namespace std; struct student{ string sname; int score; }; void print(student *s){ for (int i = 0; i < 3; ++i) { cout<<(s+i)->sname<<" "<<(s+i)->score<<endl; } } int main() { struct student stu[3]; stu[0].sname="张三"; stu[0].score=100; stu[1].sname="李四"; stu[1].score=99; stu[2].sname="王五"; stu[2].score=80; student *e= stu; print(e); }
初学c++遇到难点,在这做个笔记
数组本身就是地址,所以不需要加取址符&。
指针指向的是数组的第一个地址。
每个地址由两部分组成:名字和分数。各占4个字节。每个地址占8个字节。
定义指针:
1.int a =10;
2.int *p;
3.p = &a;
或者
1.int a =10;
2.int *p=&a;