指针//待补充

将地址视为指定的量,将值视为派生量。
指针–一种特殊类型的变量–用于存储值的地址。
指针名表示的是地址,*运算符被称为间接值或解除引用运算符,将其应用于指针,可以得到该地址处存储的值。
例,假设manly是一个指针,manly表示的是一个地址,*manly表示存储在该地址处的值。

声明和初始化
*运算符两遍的空格是可选的。对于编译器来说没有区别

C: int *ptr;强调*ptr是int类型的值

C++: int* ptr; 强调int*是一种指向int的指针。

but

int* p1, p2; //创建一个指针p1和一个int变量p2;

**可以在声明语句中初始化指针。此时,被初始化的是指针,而不是它指向的值。**也就是说,下面的语句将pt(not *pt)的值设置为&higens:

int higgens = 5;
int * pt = &higgens;
在合适的位置加上“ #ifndef __LINK_H__ #define __LINK_H__ #endif ” #include <stdio.h> // 链表节点 struct Node { int value; Node* next; }; //使用Link结构体不是必须的,但它是更好的工程实践。它封装了链表的头指针,使得链表作为一个整体对象被操作, //避免了在函数调用中频繁传递头指针并更新头指针的麻烦(因为可以通过结构体指针直接修改头指针Link->head=xxx)。 struct Link { // 链表实现 Node* head; //指针,无头结点,指向链表的第一个有效节点 }; /** * @brief 修改链表节点存储的数据 * @param pLink 链表结构体指针 * @param iPos 待修改节点位置(从0开始) * @param iNewValue 新数据 * @return 修改后的链表指针 */ Link* amendElem(Link* pLink, int iPos, int iNewValue); /** * @brief 将链表数据打印到控制台 * @param pLink 待打印的链表结构体指针 */ void display(Link* pLink); /** * @brief 在链表指定位置插入新节点 * @param pLink 链表结构体指针 * @param iValue 插入节点存储的数据 * @param iPos 插入位置 * @return */ Link* insertElem(Link* pLink, int iValue, int iPos); /** * @brief 删除链表指定位置的节点 * @param pLink 链表结构体指针 * @param iPos 删除节点的位置 * @return */ Link* delElem(Link* pLink, int iPos); /** * @brief 获取链表指定位置节点存储的数据 * @param pLink 链表结构体指针 * @param iPos 节点位置 * @return */ int selectElem(Link* pLink, int iPos);
08-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值