一维数组的学习

数组由一系列类型相同的数据对象(称作为数组的元素)排列组合而成

不同的数据对象(char int long float double等等)不能组成数组

声明数组:元素类型(char int long float double等等) 数组名[元素数量](gcc等编译器对c99支持的编译器之外的编译器元素数量不可以是变量)例如char ch[5]

变量的创建量过于大,于是就出现了数组

int arr[10]={1,2,3,4,5,6,7,8,9,0};//完全初始化

int arr[10]={1,2,3,4,5};//不完全初始化  输出1234500000

int arr2[]={1,2,3,4,5};就相当于int arr2[5];

char ch[5]={'s','i','x'};未定义的那剩余的2个输出0'\0'

char ch3[5]="six";(bit结尾系统会自带一个'\0')同上

char ch4[]="six";会输出4个元素(bit结尾系统会自带一个'\0')

char ch5[]={'s','i','x'};'会输出3个元素,因为是以集合形式,一个一个定义的

用printf打印ch5时会出现乱码,因为ch5内没有'\0'(电脑读取'\0'为字符串的结尾)就会随机出现乱码直到有'\0'为止

注意strlen求字符长度时需要以'\0'为基准

[]为下标引用操作符:会从0开始  arr[4]=5  以上面的int arr[10]为例

sizeof(arr[])就是求出括号里的东西所占的字节数sizeof(数组名)求出整个数组的字节数

一维数组在内存中的存储:打印地址需要用到%p(十六进制打印  0x加数字)  和&符号  

1.一维数组在内存中连续存放!(说明在内存中寻找地址时,找到首元素就可以找到接下来的元素:将首位元素交给*p(应该是指针知识点)  int*p=arr;//这样设置是因为数组名是每个数组的首元素 int i=0; for (i-0;i<10:i++){printf("%d",*p); p++;}hi打印出首元素和接下来的元素)

2.随着数组下标的增长,地址由低到高变化的(arr[0]--arr[9])

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值