1. 程式人生 > >一維陣列及其二維陣列的表示

一維陣列及其二維陣列的表示

陣列:儲存相同資料型別的集合

一維陣列:是指由相同資料型別的資料 經過 在同一方向 有序排列,一維陣列 結構單一,但卻是二維陣列、多維陣列的集合

二維陣列:一維陣列的疊加,將一維陣列看做是一個 “資料”,則將多個數據 依照一位陣列 在 另一方向上有序排列。

n維陣列:(n-1)維陣列的疊加,疊加方式參照 二維陣列 由 一維陣列 疊加。

注:

(1)資料從 低地址 向 高地址 移動, 即 第一個 “資料” 在整個 陣列中 地址最小。

(2)陣列名 可以 表示 第一個 “資料” 的地址

程式碼如下:(結果為最後,並對其做解釋)

標頭檔案:“指標.h”

#pragma once #include<stdio.h> #define A 10

//一維指標 void point_1() {     int i = 0;     int amarry[A];     for (i = 0; i < A; i++)     {         amarry[i] = i;     }

    printf("\n\t 一維陣列:\n");

printf("\tamarry[0]:%d  地址: %p  sizeof(&amarry[0]):%d \n\n", amarry[0], amarry,sizeof(&amarry[0]));

    printf("\t*(amarry):%d  地址: %p sizeof(&(*amarry)):%d \n\n", *amarry, &amarry[0],sizeof(amarry));

}

void point_2() {     int i = 0;     int j = 0;     int count = 0;     int amarry_2[A][A];     for (i = 0; i < A; i++)     {         for (j = 0; j < A; j++)         {             amarry_2[i][j] = count++;         }     }

    printf("\n\t 二維陣列:\n");     //列印陣列的首地址     printf("\n\tamarry_2[0][0]:%d  地址: %p  sizeof(&(amarry_2[0][0])): %d \n\n", amarry_2[0][0], &(amarry_2[0][0]),sizeof(&amarry_2[0][0]));     printf("\t*(amarry_2[0]):%d  地址: %p  sizeof(amarry_2[0]+0): %d \n\n", *amarry_2[0], amarry_2[0], sizeof(amarry_2[0]));     printf("\t*(*amarry_2+0):%d  地址: %p  sizeof(amarry_2): %d \n\n", **amarry_2, amarry_2, sizeof(amarry_2)); }

void test() {     point_1();

}

原始檔:test.c

#include"指標.h" #include<Windows.h>

int main() {     test();     system("pause");     return 0; }

一維陣列: