C语言中 sizeof(数组名) 和 strlen(数组名) 的意义

数组名是什么呢?
数组名通常来说是数组首元素的地址
但是有2个例外:
1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小
2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址

sizeof 是一个操作符
sizeof 计算的是对象所占内存的大小,单位是字节
不在乎内存中存放的是什么,只在乎内存大小

strlen 库函数
求字符串长度,从给定的地址向后访问字符,统计\0之前出现的字符个数

下文中的 err(error)就是错误的意思。

一维数组

(1)

运行结果如下:

 分析如下:

字符数组

(1)

 运行结果如下:

 分析如下:

(2)

运行结果如下:

 分析如下:

(3)

 运行结果如下: 

 分析如下:

二维数组

(1)

 运行结果如下:

 分析如下:

总结:

数组名的意义:
1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。
2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。
3. 除此之外所有的数组名都表示首元素的地址。

linkang007
关注 关注
  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sizeof数组
flymybaby的专栏
03-19 632
sizeof是关键字,不是函数,因此sizeof不能计算动态申请的内存大小,只能计算静态数组的大小。 看一段代码,buffer是否可以被清0?f2没有把长度传递进来 void f2(char buffer[10]) { std::cout << "sizeof(buffer)" << sizeof(buffer) << std::endl; ...
C语言-sizeof()和strlen()求各种数组和指针的结果
normly的博客
11-09 1069
1、strlen计算字符串的具体长度 (只能是字符串),不包括字符串结束符。返回的是字符个数。2、strlen的参数是指针类型,所以传过来的参数为指针才对。3、sizeof计算声明后所占的内存数(字节大小),不是实际长度。4、sizeof是一个取字节运算符, 而strlen是个函数。5、sizeof的返回值=字符个数*字符所占的字节数,字符实际长度小于定义的长度,此时字符个数就等于定义的长度。若未给出定义的大小,分类讨论,对于字符串数组,字符大小等于实际的字符个数+1;
C语言sizeof(数组),包括 一维数组、字符数组、二维数组
瞌睡的博客
05-13 2万+
sizeof(a);sizeof(a+0);sizeof(*a);sizeof(a+1);sizeof(a[1]);sizeof(&a);sizeof(*&a);sizeof(&a+1);sizeof(&a[0]);sizeof(&a[0]+1)
C语言-数组与&数组的细节注意
最新发布
qq_53706413的博客
08-22 879
通过整型数组、字符数组、字符串放在数组、以及二维数组数组与&数组和各类特殊情况的题目讲解来使得我们对于指针与数组具有更加深刻的了解。
sizeof(数组)和sizeof(指针)
热门推荐
KangRoger的专栏
03-06 14万+
在做这道题时: 32位环境下,int *p=new int[10];请问sizeof(p)的值为() A、4              B、10              C、40               D、8 我以为正确答案为C,int类型为32位,占四个字节,10个自然就是40了,结果正确答案为A,只是指针p占的空间。 因此写段代码测试一下: #include using
sizeof数组
qq_42381648的博客
04-10 4918
sizeof数组到底返回什么
sizeof(数组)
loonghun的专栏
11-01 950
#include using namespace std; void theFun(char a[]) { cout} int main() { char a[100]=" "; couttheFun(a); coutreturn 0; } 程序的输出结果为: 1:100 2:4 3:1 //相当于a[100]这个数所占的字节大小,也就是一个char字节占得大小 当数组作为函数的参数进行传递
C语言数组sizeof()和strlen()
yshrong的博客
05-26 408
//sizeof(数组) - 数组表示整个数组的- 计算的是整个数组的大小 //&数组- 数组表示整个数组,取出的是整个数组的地址 //除此之外,所有的数组都是数组首元素的地址 int main() { int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a)); //4*4 = 16 printf("%d\n", sizeof(a+0)); //a表示数组首元素地址,sizeof(a+0)计算的是地址的大小 ...
C语言sizeof()与strlen()函数的使用入门及对比
01-20
 sizeof其实就是用于告诉我们编译器在为某一特定数据或者某种数据类型的数据在存储空间开辟空间时,开辟的空间大小,以字节为单位。 3,怎么用?  sizeof(类型),或者sizeof(变量)都可以,得到的就是类型或者变量...
C语言sizeof()与strlen()的区别详解
01-21
sizeof()和strlen()经常会被初学者混淆,但其有有很大区别: sizeof() 1. sizeof()【操作数所占空间的字节数大小】是一种c的基本运算符。 可以以类型、指针、数组和函数等作为参数。 头文件类型为unsigned int。...
详解strlensizeof数组的使用(二)
weixin_60719453的博客
09-17 6157
一、前言 前面我们已经提到了sizeof在整形数组的使用,因为strlen只能在字符数组使用,所以上一 没涉及strlen,那么这篇将开启,可能会迟到,但是不会缺席。其实在数组的使用考得挺频繁的 一般会出现一个字符数组然后呢,给出sizeofstrlen数组长度,考点在于\0是计算到了,这类 题目较为简单,在一维数组简单些,在二维数组略难一点点,在三维数组.......好啦,废话不多说 咱们,直接进入正题。 二、sizeof在字符数组的题...
sizeof +数组
smilesundream的博客
04-11 435
链接:https://www.nowcoder.com/questionTerminal/daa5422cb468473c9e6e75cc98b771de 来源:牛客网 sizeof一个数组称的时候是计算的变量所具有的实际的字节数!! 当你在函数A定义一个数组(比如,char str[15];),然后在该函数A直接使用sizeof(str),那么输出结果肯定是15;但是当你把这个数
sizeof(数组)和sizeof(指针) .
likika2012的专栏
10-13 2735
在做这道题时: 32位环境下,int *p=new int[10];请问sizeof(p)的值为() A、4              B、10              C、40               D、8 我以为正确答案为C,int类型为32位,占四个字节,10个自然就是40了,结果正确答案为A,只是指针p占的空间。 因此写段代码测试一下: [cpp] v
C/C++ 数组作为实参传递给函数时,退化为指针
qq_47500842的博客
07-10 329
C/C++ 数组作为实参传递给函数时,退化为指针
数组求长度,用sizeof数组
ddl2111的专栏
05-19 4万+
int arr[] = {1, 2, 3, 4};sizeof(arr) = 16;char arr[] = "abc";sizeof(arr) = 4;strlen(arr)=3char arr[] = {'1', '2', '3'};sizeof(arr) = 3;strlen(arr)=3注意:当数组作为函数参数传递当时候,表示当是指针,不能用sizeof称),求出来当是计算机字长。...
C语言初探——sizeof(数组)与sizeof(*数组)
wangkeyen的专栏
06-22 5907
sizeof(数组)与sizeof(*数组) 举例 #include<stdio.h> int main() { int a[5]={1,2,3,4,5}; printf("sizeof数组=%d\n",sizeof(a)); printf("sizeof *数组=%d\n",sizeof(*a)); } 运行结果 sizeof数组=20 sizeof *数组...
分别讲一下C语言sizeof()和strlen()
05-23
`sizeof()` 和 `strlen()` 都是C语言常用的函数。 `sizeof()` 是一个运算符,用于计算数据类型、变量或对象在内存所占用的字节数。它可以用于任何数据类型或变量,包括基本数据类型、数组、结构体、联合体等。...
写文章

热门文章

  • C语言 - 详解回调函数 6387
  • C语言- 实现【扫雷】 4485
  • C语言-实现【三子棋】 4049
  • C语言中 sizeof(数组名) 和 strlen(数组名) 的意义 3243
  • C语言- 详解 编译 和 链接 的过程 2445

最新评论

  • C语言 - 详解回调函数

    希冀123: 此条回复 回调函数的意义

  • C语言 - 详解回调函数

    希冀123: 以第二个例子来解释: 将重复的内容写成一个函数(此处函数为calc),再通过传递过来的函数地址(此处为Add/Sub/Mul/Div函数)调用函数从而实现需求,这样主函数就不会冗余且看起来不会太长。 如若不使用回调函数,则每一次case都必须写着scanf输入(x、y)等等内容,使用回调函数可以只写一次,也加强代码整体观感。

  • C语言 - 详解回调函数

    pexil: 这样写代码就不会冗余

  • C语言 - 详解回调函数

    菜菜的阿东: 作为一个菜鸟,我没搞明白这么做的意义在哪里

  • C语言 - 详解内存操作函数

    m0_74352624: haha,打错字了嘿嘿

最新文章

  • C++模板初阶
  • C++类和对象:static成员和友元
  • C++日期类
2023年2篇
2022年32篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

天下网标王成都电商网站图片怎么优化昆山网站建设方案优化温州网站优化有用吗网站优化任务书淄博网站优化一般多少钱好的网站优化有用吗seo网站优化是干啥电影网站优化如何做金华网站优化推广网站优化哪家公司好恩施外包网站优化网站性能监测与优化怎样做好手机网站的优化南充微信企业网站优化s网站优化网站的seo优化案例分析张家界网站优化哪家专业新乡优化网站解放号网站优化java网站系统性能优化河北瓷砖行业网站优化推广怎么对网站进行优化龙里网站优化网站seo优化建设成华网站排名优化公司福建郴州企业网站优化方案泰安济南网站优化公司哪个好北京网站优化技术网站优化排名价格实惠网站优化的主要流程香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化