指针和数组——(个人笔记)
2014-07-30 11:20
176 查看
<pre name="code" class="cpp">#include <stdio.h>
int main(void)
{
int a[4][5] ;
**a == a[0][0];
*a == a[0];//一行
&a+1相当于加上二维数组a[][]长度
&a[0]+1相当于加上一行数组的长度//&a[1]
&a[0][0]+1加上一个元素长度//&a[0][1]
a+1 加上一行数组长度//&a[1]
a[0]+1加上元素长度//&a[0][1]
a[0][0]+1元素+1
总结:指针+1指向下一个元素,即加上元素类型的长度
数组名称+1则是加上数组类型的长度
数组名是常量不能使用++a来访问下一元素或数组,可以使用a+1来访问
数组可以int a[][5];但是不能int a[5][];int[][]
(笔记容易丢,写在这,自己看的,有点乱)
int main(void)
{
int a[4][5] ;
char *p = NULL;
p = a;
printf("p:%p\n",p);
printf("p:%p\n",p+1); printf("a:%x\n",&a); printf("a+1:%x\n",&a+1); printf("a[0]+1:%x\n",&a[0]+1); printf("a[0][0]+1:%x\n",&a[0][0]+1); return 0; }
**a == a[0][0];
*a == a[0];//一行
&a+1相当于加上二维数组a[][]长度
&a[0]+1相当于加上一行数组的长度//&a[1]
&a[0][0]+1加上一个元素长度//&a[0][1]
a+1 加上一行数组长度//&a[1]
a[0]+1加上元素长度//&a[0][1]
a[0][0]+1元素+1
总结:指针+1指向下一个元素,即加上元素类型的长度
数组名称+1则是加上数组类型的长度
数组名是常量不能使用++a来访问下一元素或数组,可以使用a+1来访问
数组可以int a[][5];但是不能int a[5][];int[][]
(笔记容易丢,写在这,自己看的,有点乱)
相关文章推荐
- C/C++学习笔记:指针与数组
- C语言学习笔记.指针4--数组指针和指向数组的指针变量(一)
- c指针和数组的临时笔记
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之五
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之四
- 浙大面向对象程序设计笔记.对象数组与对象指针
- C复习笔记(多维数组与指针)
- C++ Primer 学习笔记——第4章 数组和指针
- 指针与数组 (笔记)
- 笔记------指针与数组
- C++ Primer 学习笔记:数组和指针
- 数组和指针————C语言学习笔记1
- C++学习笔记(四)——数组和指针
- 第5章 指针和数组(笔记)
- C/C++数组名与指针区别深入探索(转自刘志强的笔记)
- c++学习笔记2——指向字符串的指针数组?
- C/C++中关于地址、指针和引用变量的学习笔记(二) : 数组
- C++学习笔记二 C++标准库 数组及指针
- 【C Prime Plus】学习笔记,Chapter 10,数组和指针之二
- C++ 入门笔记3--数组和指针