答案是:没有。整型数组在声明或者定义时,它的大小就已经确定了。比如:int arr[]={1,2,3,4,5};
那么它的长度就是5; int arr[10]={1,2,3,4,5};它的长度就是10。(未初始化的部分补0)
在我还不知道这个知识的时候,一次我在写一个求字符串长度的代码时,我突发奇想想知道这串代码可不可以求一个整型数组的长度呢?
当时求这个整型数组长度的代码是这样的:
#include<stdio.h>
int my_strlen(int arr[])
{
if (*arr != '\0')
return 1 + my_strlen(arr + 1);
else
return 0;
}
int main()
{
int arr[10] = { 1,2,0,3,4,5 };
int len = my_strlen(arr);
printf("%d\n", len);
return 0;
}
此时我脑海里是这样想的:
于是我将代码运行了一下,发现!
它的结果竟然是2!果然遇到0它停止了!
当时这真的对无知的我引发了极大的思考和困惑。哈哈,其实在后面的学习中,我才了解到,int数组是没有\0的,\0是字符,它一般用于判断字符串的结束。而整型数组的大小也根本不能这样去求。
版权声明:本文为weixin_74082492原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。