指针_计算机基础知识(编辑修改稿)内容摘要:
]; …… f( array,10); …… } void f (int arr[], int n ) { …… } 例 10.7 将数组a中n个整数按相反顺序存放。 main() { int a[10]={1,2,3,4,5,6,7,8,9,10}。 int i。 inv(a,10)。 for(i=0。 i10。 i++) printf(%3d,a[i])。 printf(\n)。 } void inv(int x[],int n) {int *i,*j。 int temp,m。 m=n/2。 i=x。 j=x+n1。 for(。 ix+m。 i++,j) {temp=*i。 *i=*j。 *j=temp。 } } 对刚才的程序可以作一些改动。 将函数 inv中的形参x改成指针变量。 void inv(int *x,int n) {int temp,*i,*j,m=(n1)/2。 i=x。 j=x+n1。 for(。 i=x+m。 i++,j) { temp=*i。 *i=*j。 *j=temp。 } } 如果有一个实参数组,想在函数中改变此数组中的元素的值,实参与形参的对应关系有以下4种情况: (1) 形参和实参都用数组名,如: void main() void f ( int x [ ],int n) { int a[10] ; { … … f (a,10); } } (2) 实参用数组名,形参用指针变量。 如: void main() void f( int *x, int n) { int a[10]; { … … f(a,10); } } (3)实参形参都用指针变量。 例如: void main() void f( int *x, int n) { int a[10] , *p=a。 { … … f( p,10); } } (4) 实参为指针变量,形参为数组名。 如: void main() void f( int x[ ], int n) {int a[10] ,*p=a; { … … f( p,10); } } 例 从 10个数中找出其中的最大值和最小值 int max,min。 void max_min(int array[],int n) { int *p,*array_end。 max=min=*array。 array_end=array+n。 for(p=array+1。 parray_end。 p++) if(*pmax) max=*p。 else if (*pmin) min=*p。 } main() { int a[10]={6,7,8,1,2,3,4,5,9,10}。 max_min(a,10)。 printf(max=%3d,min=%3d\n,max,min)。 } 多维数组与指针 用指针变量可以指向一维数组中的元素,也可以指向多维数组中的元素。 但在概念上和使用上,多维数组的指针比一维数组的指针要复杂一些。 复习一维数组与指针之间的关系 int a[10],*p。 p =a。 p =amp。 a[i]==a+i。 *p=*(a+i)==a[i]。 p p+i …… a 1. 多维数组元素的地址 先回顾一下多维数组的性质 ,可以认为二维数组是“数组的数组”,例 : 定义 int a[ 3][ 4] ={{1, 3, 5, 7},{9,11,13,15},{17,19,21,23} }; 则二维数组 a是由 3个一维数组所组成的。 a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i == amp。 a[i] (1)a,a+1,a+2分别代表 amp。 a[0],amp。 a[1],amp。 a[2] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a+i == amp。 a[i] (2)a[0],a[1],a[2]分别代表 amp。 a[0][0],amp。 a[1][0],amp。 a[2][0] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i == amp。 a[i] a[2]+1,a[2]+2分别代表 amp。 a[2][1],amp。 a[2][2] a[i]+j (3)amp。 a[i][j] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i == amp。 a[i] *(a+i)+j amp。 a[i][j] *(a+i) == a[i] a[i]+j a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i == amp。 a[i] *(a+i)+j (4)amp。 a[i][j] *(a+i) == a[i] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i == amp。 a[i] *(*(a+i)+j) (5)*(amp。 a[i][j]) *(a+i) == a[i] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i == amp。 a[i] *(*(a+i)+j) (5) a[i][j] *(a+i) == a[i] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] a[0] a[1] a[2] a a+1 a+2 a+i与 *(a+i)有什么区别 ? 小结 (1)a,a+1,a+2分别代表 amp。 a[0],amp。 a[1],amp。 a[2] (2)a[0],a[1],a[2]分别代表 amp。 a[0][0],amp。 a[1][0],amp。 a[2][0] (3) a[i]+j 代表 amp。 a[i][j] (4) *(a+i)+j代表 amp。 a[i][j] (5)*(*(a+i)+j)代表 a[i][j] a[i]从形式上看是一维数组的第 i个分量 ,但当 a为二维数组时 ,a[i]只代表一个地址 (1)用指针变量输出数组元素的值 main() {int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}。 int *p。 //printf(%o\n%o\n%o\n%o\n,a,a[0],amp。 a[0],amp。 a[0][0])。 for(p=a[0]。 pa[0]+12。 p++) {if ((pa[0])%4==0) printf(\n)。 printf(%4d,*p)。 } } 用普通的指针变量输出数据元素时 ,要先二维数组序列化为一维 ,然后再输出 .接下来定义提向一维数组的指针变量 . (2)指向一维数组的指针变量 指向一维数组的指针变量的声明形式: int (*p)[4]。 p可以指向由四个分量组成的一维数组 ,p每次 +1,移动的单元数是一维数组所。指针_计算机基础知识(编辑修改稿)
相关推荐
伤不起 , 围观 , 文艺青年,浮云 , 给力, 穿越, 裸婚 ,鸡蛋灌饼 , 你 out 了 , 老酸奶 , 哲学 , 钉子户 ,最炫民族风 , 干煸豆角 ,老干妈 , 斗地主 , 风油精 , 笔记本 , 啤酒瓶,人民 , wps 文字,兰州大学 , 水杯 , 人大,挑战主持人 , 雪花,胶囊 , 联合军演, 望远镜 , 溜达, 憨豆 , 北极, 拉面 ,新浪,辛树帜, 白纸, 盖浇饭 ,
技术背景的有兴趣的人士应清晰易读。 目标: 指明计划的投资价值所在,展现你精辟现实准确的市场分析和让人信赖的优秀的管理运作才能,让投资人确信对你的项目的投资是值得的。 核心内容: 产品(或服务)的独体性 详尽的市场分析和竞争分析 现实的财务预测 明确的投资回收方式 精干的管理队伍 写作框架: 一、概要 一个非常简练的计划及商业模型的摘要,介绍你的商业项目,一般 500 字左右。 它很重要,因为它
套 1 维 修 5 切 断 机 Φ 40 以内 台 1 钢筋笼 6 翻 斗 车 辆 12 灌 砼 劳动力配备 表 3 劳动力配备 序号 施工班组 个数 人数 备 注 1 打 桩 组 1 6 2 灌 注 组 1 13 3 钢 筋 班 1 3 4 机修后勤 1 2 小 计 4 24 三、施工工期 本工程Φ 377 振动灌注桩 600 根,桩长 15m 左右,考虑平均每 ΧΧΧ 桩基工程 施工组织设计
__________________ 4. That is a tree. (变复数 ) _______________________ ( )5. —Is that your uncle? —____. A. Yes, it’s B. No, he isn’t C. Yes, it is D. No, that isn’t ( )6. —____ those your pencils?
_______________________ 4. That is a tree. (变复数 ) _______________________ ( )5. —Is that your uncle? —____. A. Yes, it’s B. No, he isn’t C. Yes, it is D. No, that isn’t ( )6. —____ those your pencils
C. this。 this D. that。 that ( )6. — Hello, may I speak to John, please? — ______. A. Who are you? B. What’s the matter? C. This is John speaking. D. He is John. ( )7. Mr. More has more money than Mr.