C初识数组
来源:互联网 发布:ubuntu 16.04 mongodb 编辑:程序博客网 时间:2024/06/07 12:26
数组
一维数组
一维数组的创建
类型 数组名[数组空间大小]
例如
int arr[10]; char arr2[10]; float arr3[10]; double arr4[20];
值得注意的点: [ ]中必须是常量来指定数组的大小
一维数组的初始化
数组的初始化是指,在创建数组时给数组的内容一些合理初始值(初始化)。
int arr1[10]={0}; int arr2[]={0,1,2,3,4,5,6,7,8,9}; char arr3[10]={'a',98,'c'}; char arr4[]={'a','b','c','d'}; char arr5[]={"hello my girl !"};
值得注意的点:数组在创建时,如果不想指定数组的大小,就需要对数组初始化。数组元素的个数由初始化内容来确定。But
char arr1[]="abc" //'a''b' 'c' '\0'char arr2[]={'a','b','c'}; //'a''b' 'c' char *p="abcdef"; //p的内存中只存了字符a的地址
一维数组的使用和存储
1、对于数组我们需要使用下标引用操作符:[]。
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<windows.h>int main(){ int a[10]={0}; int i=0; for(i=0;i<10;i++) { a[i]=i; } for(i=0;i<10;i++) { printf("%d ",a[i]);//依次打印数组的值 printf("%p\n",&a[i]);//依次打印数组中各元素的地址 } system("pause");return 0;}
2、数组在内存中是连续存放的。
3、内存中的一个内存单元(一个字节)对一个一个地址。
拓展:
int a=0;
printf(“%p”,&a);//打印的是四个字节中最低地址的那个字节的地址
4、指针在32位平台大小是4个字节,64位平台是8个字节。
5、指针可以理解为一个变量,是一个专门用来存放地址的变量。
一维数组的指针访问
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<windows.h>int main(){ int arr[]={1,2,3,4,5,6,7,8,9,0}; printf("%p\n",arr);//数组首元素的地址相当于数组的指针代表数组地址 printf("%d\n",*arr);//数组首元素地址解引用,打印的是数组的首元素的值 system("pause");return 0;}
6、数组的数组命其实数组首元素的地址
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<windows.h>int main(){ int arr[10]={0}; int i=0; int *p=arr; for(i=0;i<sizeof(arr)/sizeof(arr[0]);++i) { *(p+i)=i; } for(i=0;i<sizeof(arr)/sizeof(arr[0]);++i) { printf("&arr[%d]=%p ",i,&arr[i]);//打印每一个元素的地址 printf("%d\n",*(p+i));//解引用,打印每一个数组 } printf("%p\n",arr+i);//打印每一个元素的地址 system("pause");return 0;}
**二维数组
int arr[3][4]={{1,2},{3,4}}
二维数组在内存中的存储也是连续
#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<windows.h>int main(){ int a[]={1,2,3,4}; printf("%d\n",sizeof(a)); printf("%d\n",sizeof(a+0)); printf("%d\n",sizeof(*a)); printf("%d\n",sizeof(a+1)); printf("%d\n",sizeof(a[1])); printf("%d\n",sizeof(&a)); printf("%d\n",sizeof(&a+1)); printf("%d\n",sizeof(&a[0])); printf("%d\n",sizeof(&a[0]+1)); system("pause");return 0;}
阅读全文
0 0
- C初识数组
- C语言——初识数组
- C语言_数组初识总结
- 初识c#---一维数组和二维数组
- 数组初识
- 初识数组
- 初识数组
- 初识数组
- Mohican_12/18 C语言—初识数组和指针
- 初识C#
- 【C#】初识
- 初识 C#
- 【C#】初识
- 初识JAVA中的数组
- 初识结构数组
- 后缀数组初识
- 树状数组(初识)
- Java数组初识
- SpringMVC中的配置文件applicationContext.xml和dispatcher-servlet.xml
- 原创视频|手把手教你用Axure做一个微信高保真原型(一)
- 第一阶段-入门详细图文讲解tensorflow1.4 -(三)TensorFlow 编程基础知识
- html5 模板
- 你是一个有价值的产品经理吗?
- C初识数组
- 牛顿法、指数分布
- 文章标题
- Android Volley完全解析(一),初识Volley的基本用法
- [架构师之路] 数据库拆分 系列(上)
- Log4Qt 中的 rootLogger、logLogger、qtLogger
- 人工智能时代关于平板发展的建议
- Zookeeper系列—ZooInspector 连接不到 Zookeeper的解决方法
- TextView实现走马灯效果