[C.C++] C语言中数组长度的计算方法总结(sizeof与strlen)

446 0
Honkers 2025-4-2 08:25:17 来自手机 | 显示全部楼层 |阅读模式

最近在重新学习C语言,学习中发现之前对数组长度的计算方法模糊不清。因此做个总结。
首先要明白什么是数组。
数组是一组相同类型元素的集合。
因此,要定义一个数组,首先要确定数组内的元素是同一种类型。

1. 数组的创建

首先来看看常用的数组的创建形式

  • int型
  1. int arr1 [10] = {
  2. 0};//定义了元素个数,且给第一个元素赋值为0,则其他元素均为0
复制代码

通过VS调试中的监视功能,可以看到各个数组的存放结果。

  1. int arr2 [10] = {
  2. 1, 2, 3, 4, 5};//定义了元素个数,但只给前五个元素赋值,则后五个元素均为0
复制代码

  1. int arr3 [10] = {
  2. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};//定义了元素个数,且给所有元素均赋值
复制代码

  1. int arr4 [10];//什么都不放,编译器会给数组的每个元素放置随机数。
复制代码

  1. int arr5[] = {
  2. 1, 2, 3};//不定义元素个数,给几个元素赋值就有几个元素。
复制代码


注意:
如果你定义了数组的大小(也就是【】号里面写了数字),但是没有给任何元素赋值,那么这个数组的所有元素都默认为一个随机数!!!如果你定义了数组大小,但只给部分元素赋值,那么剩余元素的值默认为0!!!(见上面arr4和arr5)。

因此常用上面arr1的方式,给int型数组的全部元素设置默认值为0.

  • char型
  1. char arr6[] = "abc";//没有定义元素个数,用双引号定义3个字符,末尾数组会自动加上结束标志(\0)
复制代码

  1. char arr7 [10] = "abc";//定义10个元素个数,用双引号赋值三个字符串,其余7个元素均自动定义为\0
复制代码

  1. char arr8 [10] = {
  2. 'a', 'b', <
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

荣誉红客

关注
  • 4010
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行