数组(1)

一维数组的创建和初始化
 
创建:
int main()
{
//创建一个数组--存放整型-10个
int arr[10 ];
return 0;
}
注意:创建时,[] 中要给一个常量才可以,不能使用变量
 
初始化:
int arr1[10 ]={1,2,3};//不完全初始化,剩下的元素默认初始化为0
char arr2[ ]="abcdef"//包含'\0',一共7个元素
 
 
strlen 和 sizeof
没有关联
strlen 是求字符串的长度--只能针对字符串求长度--库函数--使用头文件
sizeof 计算变量,数组,类型的大小--单位是字节---操作符
 
printf("%d\n",sizeof(arr2));
//sizeof 计算 arr 所占空间大小
//7个元素--char 7*1=7
 
printf("%d\n",strlen(arr2));
//strlen求字符串的长度,'\0'之前的字符个数
//输出---6
 
int main()
{
char arr1[ ]="abc";
char arr2[ ]={'a','b','c'}
printf("%d\n",sizeof(arr1));
printf("%d\n",sizeof(arr2));
printf("%d\n",strlen(arr1));
printf("%d\n",strlen(arr2));
return 0;
}
 
// 4 3 3 随机值
 
一维数组的使用
 
1.数组是使用下标来访问的,下标是从0开始。
#include<stdio.h>
int main()
{
char arr[ ]="abcdef"
int i=0;
for(i=0;i<6; i++)
{
printf("%c",arr[i]);
}
return 0;
}
 
2.数组的大小可以通过计算得到。
 
int arr[ ]={1,2,3,4,5,6,7,8}
int sz= sizeof(arr)/sizeof(arr[0]]);
int i=0;
for(i=0 ; i<sz ; i++)
{
printf("%d",arr[i]);
}
 
一维数组在内存中的存储
 
int arr[ ]={1,2,3,4,5,6,7,8}
int sz= sizeof(arr)/sizeof(arr[0]]);
int i=0;
for(i=0 ; i<sz ; i++)
{
printf("&arr[%d] =%p\n",i,&arr[i]);
}
 
数组在内存中是连续存放的
 
 
二维数组的创建和初始值
int main
{
int arr1[3][4];//三行四列
int arr2[3][4]={ {1,2},{3,4}};//1,2存入第一行,3,4存入第二行
int arr3[ ][4]={{1,2,3},{4,5,6}}//行可以省略,列不能
return 0;
}
 
二维数组的使用
 
打印输出全部的二维数组元素
int main
{
int arr2[3][4]={ {1,2},{3,4}};
int i=0;
for(i=0 ;i<3 ;i++)//找到行
{
int j=0;
for(j=0 ;j<4 j++)//找到列
{
printf("%d",arr2[i][j]);
}
printf("\0");
}
return 0;
}
 
二维数组在内存中的存储
 
打印输出全部的二维数组地址
int main
{
int arr2[3][4]={ {1,2},{3,4}};
int i=0;
for(i=0 ;i<3 ;i++)//找到行
{
int j=0;
for(j=0 ;j<4 j++)//找到列
{
printf("arr2[%d][%d] = %p\n",i,j,&arr2[i][j]);
}
}
return 0;
}
 
二维数组在内存中也是连续存储的
 
 
 
 
 
 

posted @ 2020-12-09 09:48  木鱼脑壳  阅读(112)  评论(0)    收藏  举报