-
-
[原创]深入理解C语言三-数组的运算
-
2021-7-25 15:52 4318
-
数组的特点
数组指的是一组相同类型的数据连续存储在一段内存中,数组中元素类型必须一致,数组名表示数组第0个元素的地址常量。
下标运算规则
1、计算数组第n个元素的地址并访问
2、计算公式:(type)array + sizeof(type)*n
3、必须有两个操作数,一个是类型的地址array,一个是整型数据n
数组的地址
1 2 3 4 5 6 7 8 9 | int a1[ 3 ]; int a2[ 2 ][ 3 ]; / * a1,&a1,a2,&a2都是数组的首地址,值相同,类型不同 a1: int * ,指针,指向的数据类型占 4 个字节 &a1: int * a[ 3 ],数组指针,指向的数据类型占 4 * 3 个字节 a2: int * a[ 3 ],数组指针,指向的数据类型占 4 * 3 个字节 &a2: int * a[ 2 ][ 3 ],二维数组指针,指向的数据类型占 4 * 2 * 3 个字节 * / |
数组的运算
1 2 3 4 5 6 7 8 | int a1[ 3 ]; int a2[ 2 ][ 3 ]; / * a1 + 1 :首地址向后移动一个元素的大小 &a1 + 1 :首地址向后移动整个数组的大小 a2 + 1 :首地址向后移动二维数组中一行的大小 &a2 + 1 :首地址向后移动整个二维数组的大小 * / |
github:https://github.com/0I00II000I00I0I0
bilibili:https://space.bilibili.com/284022506
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
赞赏
他的文章
[分享]C++基础十七-异常机制
7762
[分享]C++基础十六-模板
8114
[分享]C++基础十五-运算符重载
8157
[分享]C++基础十四-抽象类
7877
[分享]C++基础十三-多态
7608
看原图