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