碎碎念
Posted engineerzhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了碎碎念相关的知识,希望对你有一定的参考价值。
目录
- 1.typedef定义数组类型
- 2.指针数组
- 3.数组指针
- 4.二维数组
- 5.二维数组是线性存储的(用一维数组方式打印)
- 6.一维(二维)数组与数组指针
- 7.二维数组做函数参数
- 8.sizeof测试一维数组、二维数组
1.typedef定义数组类型
有typedef是类型,没有是变量
typdef int A[8]; ===== typdef int (A)[8];
A b;
2.指针数组
int *a[10];
3.数组指针
方法1:
先定义数组类型,再定义数组指针变量
typedef int A[10];
A *a;
方法2:
先定义数组指针类型,再定义数组指针bianl
typdef int (*A)[10];
A a;
方法3:
直接定义数组指针变量
int (*A)[10];
4.二维数组
int a[][4] = {1,2,3,4,5,6,7,8};
a: 数组第0行首地址
a+i: 数组第i行首地址
*(a+i): 数组第i行首元素地址
*(a+i)+j: 数组第i行第j列元素地址 《===》 &a[i][j]
*(*(a+i)+j): 数组第i行第j列元素 《===》 a[i][j]
5.二维数组是线性存储的(用一维数组方式打印)
6.一维(二维)数组与数组指针
int a[10];
int aa[3][10];
int (*A)[10];
A = &a; //a:数组首元素地址
A = aa; //aa: 数组首地址
7.二维数组做函数参数
int a[3][4]; //a: 指向整形数组的指针
//wrong
void printArray(int **a) //指向整形指针的指针
//ok
void printArray(int a[3][4])
void printArray(int a[][4])
void printArray(int (*a)[4])
8.sizeof测试一维数组、二维数组
以上是关于碎碎念的主要内容,如果未能解决你的问题,请参考以下文章