一维数组和二维数组的创建、初始化、使用、存储、指针访问

本文深入探讨一维和二维数组的创建、初始化、使用和存储,包括一维数组的指针访问以及二维数组的各种初始化方式和使用技巧。详细解释了数组内存布局和指针操作在数组中的应用。
摘要由CSDN通过智能技术生成

1.解析一维数组的创建和初始化
2.一维数组的使用
3.一维数组的存储
4.一维数组的指针访问
5.解析二维数组的创建和初始化
6.二维数组的使用
7.二维数组的存储
8.二维数组的指针访问

1.解析一维数组的创建和初始化

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

//初始化数组
void init(int p[], int sz)
{
    int i = 0;
    for (i = 0; i < sz; ++i)
    {
        p[i] = i;
        printf("%d ", p[i]);
    }
    printf("\n");
}

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void main()
{
    int p[10];//创建一维数组
    int sz = sizeof(p) / sizeof(p[0]);//数组长度
    init(p, sz);//初始化数组
}
void main()
{
    int p[10] = {013456789};//创建并初始化
    int i = 0;
    for (; i < 10;++i)
    {
        printf("%d ", p[i]);
    }
    printf("\n");
}

2.一维数组的使用
数组名[下标],如p[0],p[i+1]

3.一维数组的存储

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void main()
{
    int p[10];
    printf("%d\n", sizeof(p));
}

输出结果为40,一个整形4字节,10个整形40字节。

4.一维数组的指针访问

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void main()
{
    int p[10] = { 0, 1, 2, 3, 4 };
    int j = 0;
    for (int i = 0; i < 10; ++i)
    {
        printf("%d ", *p);//输出指针所指元素
        *p += 1;//地址+1
    }
}

5.解析二维数组的创建和初始化
分行初始化 int pp[2][3]={{1,2,3},{4,5,6}};
不分行初始化 int pp[2][3]={1,2,3,4,5,6};
部分初始化 int pp[2][3]={{1,2},{3}};
省略初始化 int pp[][3]={1,2,3,4,5,6};

6.二维数组的使用
数组名[下标][下标]

7.二维数组的存储

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void main()
{
    int pp[3][3];
    printf("%d", sizeof(pp));
}

结果为36字节,3*3*int=36字节
数组长度sizeof(pp)/sizeof(pp[0][0])=9

8.二维数组的指针访问

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void main()
{
    int pp[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } }; 
    int i = 0, j = 0;
    for (i = 0; i < 2; ++i)
    {
        for (j = 0; j < 3; j++)
        {
            printf("%d ", **pp);
            **pp += 1;
        }
        printf("\n");
    }
}

输出结果为
1 2 3
4 5 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值