C++指针

1 在函数参数中传递指针

void fun(int *p){
    *p = 3;
int a = 3;
fun(&a);
int *p = &a; 
fun(p); //两种方式 一种是传递指针,一种是传递地址  都可以
cout << a << endl;

2 指针指向数值型 int float double.. 

type *p = &变量名

3 指针指向char类型  可以使用字面量来初始化 char *p = "I love China"

4 指针指向函数

声明函数指针 int (*p)(duble, int) = fun        返回类型(*指针名)(参数类型列表)   声明可以不加形参函数声明也是 调用fun()和p()就是一样了

接收传送函数指针 fun(int (*p)(int);   调用直接传函数名字 fun(func1)  

函数指针的数组

double sum( double, double);

double product( double ,double); 

double (*p[3])(double, double) = { sum, product}

调用 pfun[1]( 2.5, 3.5 )  等价于 product( 2.5, 3.5);

5 返回指针 注意不要从函数中返回局部变量的地址

6 数组指针,指针数组

指针数组:是存放指针的数组   int a[3][4]; int (*p)[4]   指向4个元素的一维数组;p+1会越过4个元素

数组指针:是指向数组的指针 int *p[4], 数组中存放4个元素,每个元素都是一个指针变量

7 常量指针和指向常量的指针

常量指针:不能再指向别的值(地址不能改变) 只能指向初始化时的地址

int a = 3; int b = 4;

int *const p = &a; 

p = &b; // 错误  p不能再更改;

指向常量的指针:指针指向的内容不能通过*也就是指针进行修改,可以直接改变量值

int a = 3;

const int *p = &a; 

*p = 40 // 出错 不能编译

a = 40; //这样可以

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值