如何使用sizeof获取指针指向数组的长度

如何使用sizeof获取指针指向数组的长度

一般可以直接使用sizeof加数组名获取数组长度,但是封装为函数后,一般使用指针来传递数组值,但在函数体内使用sizeof指针是不对的,此时结果是指针的大小,并不是数组的大小。为了获取指针指向数组的大小,下列函数可以采用,但也只能获取固定结束符的数组长度。
#include <stdio.h>
int Sz_len(int *Data)
{
int b;
b=1;
while(Data++ != 0xFF)//定义数组结尾符标志0xFF
{
b++;
}
return b;
}
int main()
{
/
我的第一个 C 程序 */

int arr[20]={0xA5,0x5A,0x00,0x14,0x82,0x31,0x35,0x32,0x35,0x30,0x30,0x30,0x32,0x33,0x32,0x00,0x00,0xBF,0xA6,0xFF};
printf("%d\r\n",Sz_len(arr));
return 0;
}

发布了12 篇原创文章 · 获赞 4 · 访问量 1378

猜你喜欢

转载自blog.csdn.net/ydgd118/article/details/102145945