您的位置:首页 > 编程语言 > C语言/C++

C++基础知识——指向指针的指针

2016-05-03 17:13 302 查看
1.数组名会退化为首元素的指针,所以指针数组的名字是一个指向指针的指针:

int *a[10];

int **b = a;

2.由1我们可以理解二重指针为,该指针指向一个数组,这个数组的每个元素都是指针。

3.当一个函数需要改变传递给它的指针的值的时候,使用多重指针,也可以用指向指针的引用作为参数(简单且安全)。在数据结构中常会用到。

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include<iostream>

using namespace std;

//二重指针
void scanTo1(char **C,char tem)
{
while (**C && **C!=tem)
{
(*C)++;
}
}
//指针引用
void scanTo2(char *&C,char tem)
{
while (*C && *C!=tem)
{
C++;
}

}

int main()
{
char* c = "abcdef";
char *p = c;//p是c的复制

scanTo1(&p,'d');//&p 是取p的地址,也就是指向p的指针
cout<<*p<<endl;//*p 取p指向的元素

scanTo2(c,'d');
cout<<*c<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息