struct是任意类型元素的集合
struct Address {
const char* name;
int number;
const char* street;
const char* toen;
char state[2];
const char* zip;
};
补充:const char*和char*的区别:
char* s表示常量指针变量,地址不可以改变,指针的值(即*s)可以改变。
const char* s表示指向常量的指针,而不是指针本身为常量,可以不被初始化。该指针可以指向常量也可以指向变量。const限定*s,*s是不变的,s是一个普通指针,可以修改。但是s所指向的数据(即*s)不可以通过指针s修改。
用.赋值:
void f()
{
Address jd;
jd.name="Jim Dandy";
jd.number=61;
}
也可以直接用{}初始化
访问:->(strcut指针解引用)
void print_addr(Address* p)
{
cout<<p->name<<'\n';
}
如果p是一个指针,则p->m等价于(*p).m
访问:引用的方式
void print_addr2(const Address& r)
{
cout<<r.name<<'\n';
}