数组的初步认识

目录

数组的初始化

数组在内存中的存储

数组的使用

数组的指针访问


数组的创建和初始化

数组是一组相同类型元素的集合

创建方式:

type_ t     arr_name  [const_n];

//type_t    是指数组的元素类型

//const_t    是一个常量表达式,用来指定数组的大小

注:数组创建,中要给一个常量才可以,不能使用变量

//数组创建

int  arr[3][8];

char arr[4][3];

double arr[5][4];

//数组初始化

int arr[4][3] = {5,4,3,8};

int arr[4][3] = {{5,4},{3,8};

int arr[][3] = {{5,4}{3,8}};

数组的存储

#include<stdio.h>
int main()
{
int arr[10] = { 0 };
int i = 0;
for(i=0;i<sizeof(arr)/sizeof(arr[0]);++i)
{
printf("&arr[%d] = %p\n",i,&arr[i]);
}
return 0;
}

仔细观察可知,随数组下标的增长,元素的地址,也是有规律的递增

数组在内存中是连续存放的(二维数组在内存中也是连续存放的)

数组的使用

 [ ],解引用操作符。数组访问操作符。

#include<stdio.h>

int main()

{

int arr[10]={0};//数组的不完全初始化

//对数组内容赋值,数组是使用下标来访问的,下标从0开始

int i = 0;//作下标

for(i=0;i<=10;i++)

{

arr[i] = i;

}

//输出数组的内容

for(i=0;i<10;++i)

{

printf("%d",arr[i]);

}

return 0;

}

1.数组使用下标访问时,下标从0开始

2.数组大小计算

int arr[10];

int sz = sizeof(arr)/sizeof(arr[0]);

数组的指针访问

数组的数组名其实是数组首元素的地址

#include<stdio.h>
int main()
{
int arr[10] = {0};
int i = 0;
int *p_arr = arr;
for(i=0;i<sizeof(arr)/sizeof(arr[0]);++i)
{
*(p_arr+i) = i;
}
for(i=0;i<sizeof(arr)/sizeof(arr[0]);++i)
{
printf("%d\n",*(p_arr+i));
}
return 0;
}




猜你喜欢

转载自blog.csdn.net/USA_AM_1966/article/details/75309240
今日推荐