初识数据类型、变量和数组

一、数据类型

C语言中内置的数据类型有char(字符)、short(短整型)、int(整形)、long(长整形)、long long(更长的整形)、float(单精度浮点数)、double(双精度浮点数)

那么,为什么出现这么多的类型呢?

其实,存在这么多的类型,是为了更加丰富的表达生活中的各种值。

二、变量与常量

不变的值,C语言中用常量的概念来表示,变化的值C语言中用变量来表示。

变量有全局变量和局部变量之分。

这里举出一个特殊的栗子:

由上图可以知道,此时main函数里面和外面均有变量‘a’,那么此时运行的结果是20,则说明了当局部变量和全局变量同名的时候,则局部变量优先使用。(建议:不要将全局变量与局部变量的名字写成一样的)

三、数组

1.定义:一类相同元素的集合

2.数组的下标:数组的每一个元素都有一个下标,下标是从0开始的。

3.比较数组中sizeof与strlen的用法

由图中可以知晓,数组中均存放了“hello bit”,但存放的方式又有点小差别,arr1与arr2中均存放的是字符串,而arr3与arr4中均存放的是字符。(字符串中的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算字符串的内容) 

我们先来了解一下sizeof与strlen的区别:

sizeof是一个操作符,其可以帮助我们求得字符串所占空间的大小

strlen是一个内置函数,其可以帮助我们求得字符串长度的大小

由上图的关系可以知道,两者的区别在于sizeof计算时会将字符串后面的\0计算进去。

原因:

arr1[10]:“hello bit”是一个字符串,结尾有\0,故sizeof计算得出来的结果为10,strlen计算的结果是9

arr2[]:原因同arr1[]

arr3[10]:该数组存放的是字符:'h', 'e', 'l', 'l', 'o', 'b', 'i', 't',但在创建arr3数组时候,向内存空间申请了10个字节,故用sizeof计算出来的结果为10,而用strlen计算出来的结果是8(虽然此时没有\0,但该数组的内存地址已经创建完成,strlen无法继续非法访问,与arr4[]计算结果的差异)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值