Init( ) | 初始化 |
Destroy( ) | 销毁 |
Value( ) | 取值 |
Assign( ) | 赋值 |
Create( ) | 生成 |
//使用数组名代表的地址配合索引 loc( arr[i] )=loc( arr )+i*sizeof( elType ) //使用首元素地址配合索引 loc( arr[i] )=loc( arr[0] )+i*sizeof( elType )
#include <stdio.h> int main() { int arr[5]; printf("arr=%p\n", arr); printf("arr[0]=%p\n", &arr[0]); for (int i = 0; i < 5; i++) { printf("item[%d]=%p\n", i, &arr[i]); } return 0; } //参考结果为: arr=0x7ffd5f830d80 arr[0]=0x7ffd5f830d80 item[0]=0x7ffd5f830d80 item[1]=0x7ffd5f830d84 item[2]=0x7ffd5f830d88 item[3]=0x7ffd5f830d8c item[4]=0x7ffd5f830d90
loc(arr[i][j])=loc(arr[0][0])+(i*n+j)*sizeof(elType)
a00 | a01 | a02 |
a10 | a11 | a12 |
a20 | a21 | a22 |
a30 | a31 | a33 |
[a00 a01 a02] | [a10 a11 a12] | [a20 a21 a22] | [a30 a31 a32] |
loc(arr[i][j])=loc(arr[0][0])+(j*m+i)*sizeof(elType)
a00 | a01 | a02 |
a10 | a11 | a12 |
a20 | a21 | a22 |
a30 | a31 | a33 |
[a00 a10 a20] | [a01 a11 a21] | [a02 a12 a22] | [a03 a13 a23] |
a00 | a01 | a02 | a03 |
a10 | a11 | a12 | a13 |
a20 | a21 | a22 | a23 |
a30 | a31 | a33 | a33 |
a00 | a01 | a02 | a03 | a11 | a12 | a13 | a22 | a23 | a33 |
a00 | a10 | a11 | a20 | a21 | a22 | a30 | a31 | a32 | a33 |
a00 | C | C | C |
a10 | a11 | C | C |
a20 | a21 | a22 | C |
a30 | a31 | a33 | a33 |
a00 | a10 | a11 | a20 | a21 | a22 | a30 | a31 | a32 | a33 | C |
a00 | a01 | a02 | a03 |
C | a11 | a12 | a13 |
C | C | a22 | a23 |
C | C | C | a33 |
a00 | a01 | a02 | a03 | a11 | a12 | a13 | a22 | a23 | a33 | C |
typedef struct Arr { int row, col; int data; } Array;
a00 | a01 | a02 | a03 |
a10 | a11 | a12 | a13 |
a20 | a21 | a22 | a23 |
a30 | a31 | a33 | a33 |
a00 | a10 | a20 | a30 |
a01 | a11 | a21 | a31 |
a02 | a12 | a22 | a32 |
a03 | a13 | a33 | a33 |