指针的相关问题

学习指针时的相关问题

鸣谢 龙大佬同学(手动滑稽

指针和引用的区别
指针可以指向为空,但是引用一旦绑定了对象,就不能更改,而且绑定不能为空
指针相当于菜刀,而引用就是水果刀,指针的功能更多,但是在某一情况下使用引用比较有针对性。

所有指针XX相关的名字属于翻译问题,误导学习者,不合适正确理解学习。推荐看C++ Primer

  1. 指向函数的指针
  2. 返回值为“指向函数的指针”的函数
  3. 参数为“指向函数的指针”函数

从右往左看是一个很好的技巧,编译器设计的时候,扫描是从右往左(LALR),不过总体是从左往右看
指针函数与函数指针

1. 指针函数就是返回值为指针的函数

 int *fun(int a){  
	 int *p=&a;  
	 return p;  
 }

返回值为int类型的指针的名为fun的函数

2. 函数指针就是指向函数的指针
在国外的教材上,一般不用“函数指针”(function pointer)的说法,都是(pointer to function)指向函数的指针,所以弄混是用词概念的问题

int (*fun)(int x,int y);		//函数指针就是指向函数的指针

调用方法

fun = function;     //方法1
fun = &function;	//方法2

fun是一个指针变量

3. 返回值为函数指针的函数指针

定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数?

int (*F)(int,int);		//名为F的函数指针,指向返回值为int 具有两个int形参的函数
int (*(*F)(int,int))(int) 	//为题目要求定义的指针
							//定义从中间开始看

指针常量与常量指针

常量只有两层意思,一个是字面量,一个是宏定义
const 不是常量!不是常量!不是常量!
const对于一般标量型变量,是指的这个变量不可直接修改

顶层 const,底层const

const int *p; 	//指针p的指向是const不可修改
int * const p;	//指针p指向的int变量对象的值是const的不可修改

指针数组与数组指针

  1. 指向数组的指针
  2. 元素为指针的数组
    记忆的时候按“元素为int类型指针的数组”比指针数组这样记忆好一点
int *p[];	//定义一个名为p的数组,每一个元素都是int类型的指针(int *)
int (*p)[];	//定义了一个指向元素为int类型数组的指针

C++类成员函数指针使用介绍
指针函数到函数指针作为函数的返回值
指针常量和常量指针
数组指针和指针数组的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值