Acwing语法课4(类,结构体,指针,链表,引用)

本文介绍了C++中的基本概念,包括使用结构体定义Person类型,创建对象并访问其属性,以及指针和引用的用法。展示了如何通过指针修改变量的值,以及数组名作为指针的特性。此外,还讲解了指针运算在遍历数组中的应用,并给出了链表的实现,通过动态分配内存创建了一个简单的链表数据结构。
摘要由CSDN通过智能技术生成

类、结构体、指针与引用

#include <iostream>

usingnamespacestd ;

structPerson

{

intage ,height;

doublemoney;

Person(int_age,int_height,double_money)//构造函数

{

age=_age ;

height=_height;

money=_money;

}//Person(int _age,int _height,int _money):age = (_age),height = (_height),money = (_money)

};

intmain()

{

Personp= {18,180,100.0};

cout<<p.money<<endl;

return0;

}

#include <iostream>

usingnamespacestd ;

chare,f;

intmain()

{

charc='a';

cout<< (void*)&c<<endl;

chard;

cout<< (void*)&d<<endl;

cout<< (void*)&e<<endl;

cout<< (void*)&f<<endl;

return0;

}

指针指向存放变量的值的地址。因此我们可以通过指针来修改变量的值。

#include <iostream>

usingnamespacestd ;

chara,b;

intmain()

{

inta=10;

int*p=&a;

cout<<*p<<endl;

*p=12;

cout<<*p<<endl;

cout<<a<<endl;

return0;

}

数组名是一种特殊的指针。指针可以做运算:

#include <iostream>

usingnamespacestd ;

chara,b;

intmain()

{

charc ;

chara[5] = {1,2,3,4,5};

cout<< (void*)&c<<endl;

cout<< (void*)a<<endl;

for (inti=0;i<5 ; i++) cout<< (void*)&a[i] <<endl;

return0;

}

#include <iostream>

usingnamespacestd ;

chara,b;

intmain()

{

int a[5] = {1,2,3,4,5};

int*p=a;

cout<<p<<endl;

cout<<p+1<<endl;

cout<<*(p+2) <<endl;

cout<<*(p+1) <<endl;

return0;

}

链表

#include <iostream>

#include <string.h>

usingnamespacestd ;

constintN=10000;

structNode

{

intdate;

Node*next;

} *head;

intmain()

{

for (inti=1;i<=5; i++)

{

Node*p=newNode();

p->date=i;

p->next=head;

head=p;

}

for (Node*p=head; p ; p=p->next) cout<<p->date<<' ';

cout<<endl;

return0;

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值