【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )
生活随笔
收集整理的這篇文章主要介紹了
【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 總結
- 一、多維數組本質
- 二、完整代碼示例
總結
n 維數組名稱本質 是 n-1 級數組指針
一、多維數組本質
給定多維數組 :
// 聲明一個多維數組int array[2][3];打印二維數組 , 打印 array 和 array + 1 的值 , array 是數組首元素地址 ;
打印結果是 array = 6422188, array + 1 = 6422200 , 往后跳了 12 字節 ; 該二維數組 2 行 3 列 , 每行有 3 個 int 值 , 12 字節 , 這是跳轉了 一列 的內存大小 ;
上述 二維數組 名 , 相當于 一級數組指針 ;
// 打印 array 和 array + 1 的值 , array 是數組首元素地址// array = 6422188, array + 1 = 6422200 , 往后跳了 12 字節// 該二維數組 2 行 3 列 , 每行有 3 個 int 值 , 12 字節// 這是跳轉了 一列 的內存大小// 多維數組名 相當于一個 數組指針// 二維數組名 相當于一個 一維數組指針// 三維數組名 相當于一個 二維數組指針printf("array = %d, array + 1 = %d\n", array, array + 1);打印 &array 和 &array + 1 的值 , &array 是數組首地址 ;
打印結果是 &array = 6422188, &array + 1 = 6422212 , 往后跳了 24 字節 ; 二維數組總大小是 24 字節 , 這是跳轉了一個二維數組的大小 ;
// 打印 &array 和 &array + 1 的值 , &array 是數組首地址// &array = 6422188, &array + 1 = 6422212 , 往后跳了 24 字節// 二維數組總大小是 24 字節 , 這是跳轉了一個二維數組的大小 ;printf("&array = %d, &array + 1 = %d\n", &array, &array + 1);二、完整代碼示例
完整代碼示例 :
#include <stdio.h> #include <stdlib.h> #include <string.h>/*** @brief main 多維數組名本質* @return*/ int main() {// 聲明一個多維數組int array[2][3];// 循環控制變量int i = 0, j = 0;// 用于給 多維數組 賦值時的累加索引值int index = 1;// 給多維數組賦值for(i = 0; i < 2; i++){for(j = 0; j < 3; j++){array[i][j] = index++;}}// 打印 多維數組 元素 值for(i = 0; i < 2; i++){for(j = 0; j < 3; j++){printf("%d\n", array[i][j]);}}// 打印 array 和 array + 1 的值 , array 是數組首元素地址// array = 6422188, array + 1 = 6422200 , 往后跳了 12 字節// 該二維數組 2 行 3 列 , 每行有 3 個 int 值 , 12 字節// 這是跳轉了 一列 的內存大小// 多維數組名 相當于一個 數組指針// 二維數組名 相當于一個 一維數組指針// 三維數組名 相當于一個 二維數組指針printf("array = %d, array + 1 = %d\n", array, array + 1);// 打印 &array 和 &array + 1 的值 , &array 是數組首地址// &array = 6422188, &array + 1 = 6422212 , 往后跳了 24 字節// 二維數組總大小是 24 字節 , 這是跳轉了一個二維數組的大小 ;printf("&array = %d, &array + 1 = %d\n", &array, &array + 1);// 定義 指向數組 的指針變量int (*p)[3] = NULL;// 為 數組指針變量 賦值p = array;// 打印 多維數組 元素 值printf("\np:\n");for(i = 0; i < 2; i++){for(j = 0; j < 3; j++){printf("%d\n", p[i][j]);}}// 由上面的打印結果可知 , 二維數組的名稱 本質是 一級數組指針// n (n >= 2) 維數組名稱本質 是 n-1 級數組指針// 命令行不要退出system("pause");return 0; }執行結果 :
總結
以上是生活随笔為你收集整理的【C 语言】数组 ( 多维数组本质 | n 维数组名称本质 是 n-1 级数组指针 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C 语言】数组 ( 数组指针 | 数组
- 下一篇: 【每日随笔】电子签名 ( 下载 “e 签