字符型指针
char a[] = "bcdef";
char *m = a;
//m = bcdef *m = b
//字符串指针m中实际上存的是该字符串首字符的地址,所以用取内容运算符*对m进行操作即(*m)时,*m = b
m = m+2
//m = def *m = d
//m进行了+2,所以此时指针指的位置向后移动了两位,*m=d
将一个字符串指针赋给另一个字符串指针
char *pa = "pa111";
char *pb = pa;
//pb = pa111,*pb = p
字符串指针
string str="123456";
string *m = &str; // *m="123456"
整数型指针
#include<iostream>
#include<stdio.h>
using namespace std;
void increment(int *p){
(*p)++;
}
void incrementp(int **pointer){
(**pointer)++;
}
void move_p(int **pointer,int arr[]){
*pointer = &arr[1];
}
int main(){
int a=10;
int *q = &a;
increment(q); //a值加一
cout << "a = " << a << endl; //a=11
int arr[]={1,6,7,8,9};
//int *p = arr+1; //*p值为6
//int *p = arr; //*p值为1
int *p = &arr[0];
incrementp(&p); //将指针p所指位置的值加一
cout << *p << endl; //*p=2
move_p(&p,arr); //指针指向数组第二个位置
cout << *p << endl; //*p=6
return 0;
}