1、指针与数组-掌握
在C语言中数组的指针:是指数组在内存中的起始地址,数组元素的地址:是指数组元素在内存中的起始地址一维数组的数组名为一维数组的指针(起始地址)例:double x[8];因些,x为x数组的起始地址
假设指针变量px的地址值等于数组指针x(即指针变量px指向数组的首元数),则:x[i]、*(px+i)、*(x+i)和px[i]具有完全相同的功能:访问数组第i+1数组元素 注、把一个数组的地址赋给具有相同数据类型的指针,例int a[20], *px;pa =a; //等价 pa= &a[0]例:#include int main(){ int a[]={3,1,2,8,6}; int i,*p,n; p =a; n =sizeof(a)/sizeof(int); for(i=0;i
程序实例:
编号一个函数,将整型数组中n个数按反序存放#include int main(){ int a[]={3,1,2,8,6}; int *p,*q,n,t; p=a; n =sizeof(a)/sizeof(int); q=&a[n-1]; while(p
2、指针与二维数组-掌握
多维数组就是具有两个或两个以上下标的数组在C语言中,二维数组的元素连续存储,按行优先存。
程序实例:
使用一个一级指针,遍历一个二维的数组。#include int main(){ int a[3][2]={{1,2},{5,6},{7,9}}; int i,*p,n; p =&a[0][0]; n =sizeof(a)/sizeof(int); for(i=0;i
行指针、行地址
二维数组名代表数组的起始地址,数组名加1,是移动一行元素,因此,二维数组名常被称为行地址。行指针(数组指针)存储行地址的指针变量,叫做行指针变量,形式如下 (*) [表达式]例如: int a[2][3]; int (*p)[3];-方括号中的常量表达式表示指针加1,移动几个数据。-当用行指针操作二维数组时,表达式一般写成1行的元素个数,即列数。#include int main(){ int a[3][2]={{1,2},{5,6},{7,9}}; int (*p)[2]; p =a; printf("%d %d",a[1][1],p[1][1]); printf("%p %p",&a[1][1],&p[1][1]); return 0;}输出:6 60x7ffd78bd343c 0x7ffd78bd343c
3、总结
指针二维数组,包括一级指针如何访问二维数组以及行指针如何访问二维数组
4、思考
二维数组名有什么特点?编程实现,使用行指针遍历二维组数?
![fc65fe79ac26fc5dd6e3bc1e256447fd.png](https://i-blog.csdnimg.cn/blog_migrate/769d7c21b7515464d3468a6a588e87be.jpeg)