C语言指针和二维数组
所属分类 c
浏览量 829
二维数组 行和列
内存顺序存储 先放第一行
int a[2][3] ={0,1,2,3,4,5};
2行3列
先存放 a[0] 行,再存放 a[1] 行
int (*p)[3] = a;
a+i == p+i
a[i] == p[i] == *(a+i) == *(p+i)
a[i][j] == p[i][j] == *(a[i]+j) == *(p[i]+j) == *(*(a+i)+j) == *(*(p+i)+j)
指针数组和二维数组指针
#include "stdio.h"
int main(){
int arr[2][3] = {0,1,2,3,4,5};
// 数组指针
int (*p)[3] = arr;
printf("%d %d %d %d %d %d \n",arr[1][2],p[1][2],*(arr[1]+2),*(p[1]+2) , *(*(arr+1) +2) , *(*(p+1) +2) );
// 指针数组
int *parr[3] = {&arr[0][0],&arr[0][1],&arr[0][2]};
for(int i=0;i < 3;i++){
int*pint = parr[i];
printf("%p %d \n",pint,*pint);
}
return 0;
}
C语言二维数组
二维数组函数入参用法
上一篇
下一篇
二维数组函数入参用法
二维整型数组参数传递的三种方式
C语言指针运算和指针类型
各种指针的大小
C语言数据结构笔记
docker VS podman