C语言中 sizeof(数组名) 和 strlen(数组名) 的意义
数组名是什么呢?
数组名通常来说是数组首元素的地址
但是有2个例外:
1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小
2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址
sizeof 是一个操作符
sizeof 计算的是对象所占内存的大小,单位是字节
不在乎内存中存放的是什么,只在乎内存大小
strlen 库函数
求字符串长度,从给定的地址向后访问字符,统计\0之前出现的字符个数
下文中的 err(error)就是错误的意思。
一维数组
(1)
运行结果如下:
分析如下:
字符数组
(1)
运行结果如下:
分析如下:
(2)
运行结果如下:
分析如下:
(3)
运行结果如下:
分析如下:
二维数组
(1)
运行结果如下:
分析如下:
总结:
数组名的意义:
1. sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。
2. &数组名,这里的数组名表示整个数组,取出的是整个数组的地址。
3. 除此之外所有的数组名都表示首元素的地址。
希冀123: 此条回复 回调函数的意义
希冀123: 以第二个例子来解释: 将重复的内容写成一个函数(此处函数为calc),再通过传递过来的函数地址(此处为Add/Sub/Mul/Div函数)调用函数从而实现需求,这样主函数就不会冗余且看起来不会太长。 如若不使用回调函数,则每一次case都必须写着scanf输入(x、y)等等内容,使用回调函数可以只写一次,也加强代码整体观感。
pexil: 这样写代码就不会冗余
菜菜的阿东: 作为一个菜鸟,我没搞明白这么做的意义在哪里
m0_74352624: haha,打错字了嘿嘿