码迷,mamicode.com
首页 > 编程语言 > 详细

再谈数组与指针

时间:2016-01-12 21:23:41      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

首先看如下一下基础:

   一、int *p:p是指向一个整数变量的指针

   char *p:p是指向一个字符变量的指针

 由int data[30]; int *p;有p=data;或p=&datd[1](i=0,1,2,3....)

 上面成立的原因:(1)数组名是该数组首元素的地址

                        (2)&data表示取整个数组的地址,包括多维数组。&data[0]取数组首个元素的地址。单独data则亦表示数  组首元素的地址。

                         (3)p是p是指向一个整数变量的指针

     二、 int a[3][4];a是指向由4个int数据构成的数组的指针

            int (*p)[4];p是指向由4个int数据构成的数组的指针

      于是必然有:p=a;

      分析二成立的原因:1、c primer plus中对二维数组和数组指针的定义即是上面的方式;

                                2、因为在数组与指针中有p[m]=*(p+m)的关系。直接将上面的数组指针int (*p)[4];改写

成int (*p+0)[4];即等效于int p[0][4];自然可以很清晰的理解了。

      三、字符的存储形式:每个字符以整数的形式储存。

            字符串的储存方式:一“\0”结尾的char数组。

再谈数组与指针

标签:

原文地址:http://www.cnblogs.com/wgang171412/p/5125348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!