数组的初步认识
2017-07-18 18:44
190 查看
目录
数组的初始化
数组在内存中的存储
数组的使用
数组的指针访问
数组的创建和初始化
数组是一组相同类型元素的集合
创建方式:
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;
}
数组的初始化
数组在内存中的存储
数组的使用
数组的指针访问
数组的创建和初始化
数组是一组相同类型元素的集合
创建方式:
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;
}
相关文章推荐
- 【LVL1_6_c】我对(一维数组名、二维数组名、&数组名 )的初步认识和理解。
- 后缀数组的初步认识
- 数组的初步认识
- 《Java编程思想》学习记录仪四 -- Java数组和作用域初步认识(第二章一切都是对象)
- rezor视图初步认识
- sqlalchemy的初步认识
- java基础之 认识数组
- Scala初步认识(一)
- 对于ADO.NET的Connected和Disconnected的初步认识
- 2、Sprite,SpriteBatch,Texture,TextureRegion的初步认识
- 机器学习的初步认识
- 初步认识Ehcache清空缓存的3种策略
- 对UTF8编码的初步认识
- 初步认识SQL Server
- 关于拷贝构造函数的初步认识
- github的初步认识
- 李刚java笔记__认识数组
- Java的四种线程初步认识
- linux-shell scripts 脚本的初步认识
- Service初步认识