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

来源:互联网 发布:linux 如何查看用户数 编辑:程序博客网 时间:2024/05/22 06:10

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

阅读全文
0 0