c++里.和->的区别: 这两段代码是等效的: #include<iostream> #include<string> using namespace std; struct Car { string brand; int year; }; void main() { int n,i; cout<<"有多少记录数?"; cin>>n; Car *cars=new Car[n]; Car *p=cars; Car *q=cars; for(i=0;i<n;i++) { cout<<"请输入生产商:"; cin>>p->brand; cout<<"请输入生产年份:"; cin>>p->year; p++; } for(i=0;i<n;i++) { cout<<q->brand<<" "<<q->year<<endl; q++; } } 和#include<iostream> #include<string> using namespace std; struct Car { string brand; int year; }; void main() { int n,i; cout<<"有多少记录数?"; cin>>n; Car *cars=new Car[n]; for(i=0;i<n;i++) { cout<<"请输入生产商:"; cin>>cars[i].brand; cout<<"请输入生产年份:"; cin>>cars[i].year; } for(i=0;i<n;i++) { cout<<cars[i].brand<<" "<<cars[i].year<<endl; } }