一维数组及其二维数组的表示

数组:存储相同数据类型的集合

一维数组:是指由相同数据类型的数据 经过 在同一方向 有序排列,一维数组 结构单一,但却是二维数组、多维数组的集合

二维数组:一维数组的叠加,将一维数组看做是一个 “数据”,则将多个数据 依照一位数组 在 另一方向上有序排列。

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;
}

一维数组:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值