一维数组和指针:
对于一位数组和指针是很好理解的:
一维数组名:
对于这样的一维数组:int a[5]; a作为数组名就是我们数组的首地址, a是一个地址常量 .
首先说说常量和变量的关系, 对于变量来说, 用箱子去比喻再好不过了, 声明一个变量就声明一个箱子,比如我们开辟出一个苹果类型的箱子, 给这个变量赋值就是把盛放苹果的箱子中放入一个实实在在的苹果, 这就是变量的赋值.
而对于数组来说, 就是一组类型相同的箱子中,一组苹果箱子, 可以放入不同的苹果.
一维数组空间:
变量被声明后, 我们操作编译器, 对我们的C源文件进行编译, C在编译的时候 就会给我们的变量开辟相应的空间, 而对于数组而言, 开辟的空间是连续的. 我们把每个空间叫做存储单元, 每个空间都是有自己的编号, 就像我们现实生活中每户人家都有自己的一个门牌号一样, 系统数组空间地址是相连的, 并且我们的数组名就是一维数组首地址, 是一个地址常量.
指针:
既然数组的是占用连续的存储单元, 并且数组的首地址就是数组名, 我们可以通过指针变量来取出相应的地址.
指针变量, 就是这个箱子是专门存放其他箱子地址的. 我们可以把数组首地址给我们的指针变量. int a[7],*p; p=a;
这样我们就可以通过指针来取得数组中的内容了.
例如对于a[2](代表箱子中的苹果), 我们可以有如下表示方法:
(1) a[2] (2)p[2] (3)*(a+2) (4)*(p+2)
分享到:
相关推荐
C语言程序设计-有一个一维数组score,内放10个学生的成绩,用一个函数来求平均成绩;
C语言课件:9-2指针与一维数组.ppt
二维数组a由若干个一维数组组成在C语言中定义的二维数组实际上是一个一维数组,这个一维数组的每一个成员又是一个一维数组。如以上定义的a数组,则可视a数组由a[0]、a[1]、a[2]等三个元素组成,而a[0]、a[1]、a[2]等...
第9章 指针和数组——指针和一维数组之间的关系C语言程序设计第9章 指针和数组一维数组元素的引用数组名代表数组的首地址&a[0]a+1不是加上1个字节,取决于a
所以数组指针也称指向一维数组的指针,亦称行指针。 指针数组 定义 int *p[n]; []优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组,它有n个指针类型的数组元素。这里执行p+1是错误的,这样赋值...
一、前言 二、变量与指针的本质 1. 内存地址 2. 32位与64位系统 3. 变量 4. 指针变量 5. 操作指针变量 ...3. 指针数组与数组指针 4. 二维数组和指针 5. 结构体指针 6. 函数指针 五、总结
第9章 指针和数组——指针和二维数组之间的关系C语言程序设计第9章 指针和数组换个角度看二维数组将二维数组a看成一维数组,有2个“int[3]型”元素a代表二维
c语言指针一维数组的实现。指针与一维数组的相互转化。
C语言程序设计(第2版)-2期 拓展知识7-3 指向一维数组的指针变量.pdf 学习资料 复习资料 教学资源
二维数组在概念上是二维的,有行和列,但在内存中所有的数组元素都是连续排列的,...C语言中的二维数组是按行排列的,也就是先存放 a[0] 行,再存放 a[1] 行,最后存放 a[2] 行;每行中的 4 个元素也是依次存放。数组 a
在C语言中数组和指针之间存在一些千丝万缕的联系,搞不清楚的情况下非常容易出错,在前一段时间我写过关于数组和指针的分析,但是还是存在很多不清楚的问题,特别是当出现一些复杂的问题时,这种情况更加的复杂。...
C语言循环、数组、函数及指针练习题精选及答案,习题经典,答案详细!
用于比较指针数组和数组指针实现算法的差异,利用函数返回指针实现。 可作为研究C语言指针使用的范例程序。 有源代码和实现结果图。
用于比较指针数组和数组指针实现算法的差异,利用函数返回指针实现。 可作为研究C语言指针使用的范例程序。 有源代码和实现结果图。
(2)、第二种是用一维数组来表示二维数组,从显示的元素地址可以看出,二维数组和一维数组表示的二维数组在内存中的储存方式其实是一样的,不过使用二维数组看起来要简单些,只要不用进行地址转换。 (3)、第三...
指针(指针的概念、指针和一维数组) 结构体和联合体(基本概念) 3、 主要算法 (1) 判断整除 (2) 用公式求和、积 (3) 求最大最小值 (4) 数列(斐波那契数列) (5) 最大公约数和最小公倍数 (6) 求素数 ...
C语言中只有一维数组,而且数组的大小必须在编译期就作为一个常数确定下来。然而,C语言中数组的元素可以是任何类型的对象,当然也可以是另外一个数组。这样,要“仿真”出一个多维数组就不是一件难事。 对于一个...
另外,a[0]也可以看成是a[0]+0,是一维数组a[0]的0号元素的首地址,而a[0]+1则是a[0]的1号元素首地址,由此可得出a[i]+j则是一维数组a