首先让我们了解一下sizeof()与strlen()的区别
sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。
它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
strlen(...)是函数,要在运行时才能计算。参数必须是字符型指针(char*)。当数组名作为参数传入时,实际上数组就退化成指针了。
它的功能是:返回字符串的长度。该字符串可能是自己定义的,也可能是内存中随机的,该函数实际完成的功能是从代表该字符串的第一个地址
开始遍历,直到遇到结束符NULL。返回的长度大小不包括NULL。
一维数组
字符数组
![](https://img-blog.csdn.net/20170406165152296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRXV0ZXJwZV9f/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20170406170430010?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRXV0ZXJwZV9f/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
二维数组