Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2341468
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:07:14

指针数组,是数组的每个元素都是指针。
二维数组,相当于是每个元素都是一维数组的数组。

一维数组是一个连续的存储空间,字节数为数组元素个数乘以每个元素的字节数。
指针只是一个地址,占4个字节。


int A[2][3]; 内存分配情况:

A[0][0] A[0][1] A[0][2] A[1][0] A[1][1] A[1][2]               -----> 2*3*4 字节的连续空间
~4字节~ ~4字节~ ~4字节~ ~4字节~ ~4字节~ ~4字节~


*p[3] 指针数组的内存分配情况

 p[0]    p[1]    p[2]                                          ----> 12 字节连续空间
~4字节~ ~4字节~ ~4字节~
  |        |       |__ p[2][0] p[2][1] p[2][2] …… p[2][n-1]  ----> 4*n 字节连续空间
  |        |           ~4字节~ ~4字节~ ~4字节~ …… ~4字节~
  |        |__________ p[2][0] p[2][1] p[2][2] …… p[2][m-1]  ----> 4*m 字节连续空间
  |                    ~4字节~ ~4字节~ ~4字节~ …… ~4字节~
  |___________________ p[2][0] p[2][1] p[2][2] …… p[2][x-1]  ----> 4*x 字节连续空间
                       ~4字节~ ~4字节~ ~4字节~ …… ~4字节~
                                                               注: n,m,x 不一定相等

数组指针直接指向数组,不用说了

--------------------next---------------------

阅读(1065) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~