善于运用指针3

一.通过指针引用多维数组

1.多维数组的地址

int a【2】【3】 = {{1,2} ,{3,4} ,{5,6}};

 从二维数组的角度看,a代表二维数组首个元素的地址,现在首元素不是一个简单的整形数组二十由四个整型元素组成的一维数组,则a代表的是首元素的起始地址。a + 1代表序号为1的行的起始地址。

二维数组有关的指针

 

二.指向函数的指针

1.什么是函数的指针

在程序中定义一个函数,在编译时把函数的源代码换为可执行代码并分配一段内存空间。这段内存空间有一个起始地址,称函数的起始地址。函数名代表函数的起始地址。

可以定义一个指向函数的指针变量,用来存放函数的起始地址如

int (*p)(int int)

2.怎样定义和使用指向函数的指针变量

类型名(*指针变量)(函数参数表列)

1.定义指向函数的指针变量,他只能指向在定义时指定的类型的函数。

2.要用指针调用函数,必须先使指针变量指向该函数。

3.用函数指针变量调用函数时,只需将(*p)代替函数名即可(p为指针变量),在(*p)之后括号中根据需要写实参。

三.指向数组的指针

 

偏移量是sizeof基类型 

 

四.指向指针的指针

1.什么是指针数组

一个数组。其元素均为指针类型数据称为指针数组。

int * p【4】 ;    指向一维数组的指针变量

定义一维指针数组一般形式为 

类型名* 数组名【数组长度】

2.指向指针数据的指针变量

char **p; 定义一个指向指针数据的指针变量

注意:要修改哪个变量的值要传它的地址

修改后为

 

补充: 

提高程序的耦合性 

 

  

排序

 

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值