博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Pointer and Array
阅读量:6501 次
发布时间:2019-06-24

本文共 969 字,大约阅读时间需要 3 分钟。

 

1.各种指针的定义:

  • int *pi ; //pi是指向int型变量的指针

  • float *pi; //pi是指向float型变量的指针

  • char *pc; //pc是指向char型的变量指针

  • char (*pa)[3]; //pa是指向一维数组的指针

  • int (*pf)();//指向函数pf的指针,函数的返回值类型为int型数值

  • int **pp;//指向指针的指针,即二级指针

 

2.有关指针和数组

  • 一维数组

    例如:int a[5];下标方法表示为:a[i],其中,i=0,1,2,3,4;

用指针的方法表示为:*a+i

  • 二位数组

 例如:int a[2][5];

 其中,有10int型变量.下表方法表示为:a[i][j],其中,i=0,1;j=0,1,2,3,4;

 

 用指针方法表示为:

1.用指针表示它的行和列

**a+i+j

2.行数组用下标表示,列数组用指针

*(a[i]+j)

3.行数组用指针表示,列数组用下标表示

(*a+i)[j]

4,按二维数组各个元素在内存中的存放顺序,用指向数组首元素的一级指针表示

*(&a[0][0]+5*i+j)

 

------------可以将一个二维数组看作一个一维数组,而它的元素又是一个一维数组----------

例如:

a[2][5]可以看做是有2个元素的一维数组,即称行数组,而每个元素又是具有5个元素的一维数组,即称为列数组。

因此,a[2][5]可以看作是2个元素的一维数组,其中每个元素又是具有5个元素的一位数组。

  • 三维数组

同理如二维数组。

可以将每个元素看作为一维数组的二维数组,而二维数组可以看作是每个元素为一维数组的一维数组。 将三维数组理解为有行数组,列数组,组数组组成,它们都是一维数组。

例如:

int a[3][5][7];

其中, i=0,1,2; j=0,1,2,3,4; k=0,1,2,3,4,5,6;

各种指针及下标表示方法如下:

  1. 用指针表示它们的行数组,列数组,组数组表示

    ***(a+i)+j+k

  2. 用指针表示行数组。列数组,组数组用下标表示

    *(*(a[i])+j)+k), 其它同理。

 

 

转载于:https://www.cnblogs.com/FCWORLD/archive/2010/10/04/1841804.html

你可能感兴趣的文章
Android Fragment的使用
查看>>
沙朗javascript总结一下(一)---基础知识
查看>>
js深入研究之函数内的函数
查看>>
LeetCode:4_Median of Two Sorted Arrays | 求两个排序数组的中位数 | Hard
查看>>
python之commands模块
查看>>
android应用开发--------------看RadioGroup源代码,写相似单选选项卡的集成控件(如底部导航,tab等等)...
查看>>
LeetCode - Binary Tree Level Order Traversal
查看>>
FTP协议完全详解
查看>>
【C语言天天练(十五)】字符串输入函数fgets、gets和scanf
查看>>
【环境配置】配置sdk
查看>>
accept()
查看>>
USB 2.0 Hub IP Core
查看>>
USB 2.0 OTG IP Core
查看>>
解读浮动闭合最佳方案:clearfix
查看>>
Charles使用
查看>>
Python GUI编程(Tkinter) windows界面开发
查看>>
dynamic关键字的使用
查看>>
iOS 音乐播放器之锁屏效果+歌词解析
查看>>
android O 蓝牙设备默认名称更改
查看>>
阳台的青椒苗
查看>>