整型数据不是以\0结束的,而字符数组最后要存放一个\0的.
如int
a[4],可以存放4个int型数据,如int
a[4]={1,2,3,4}
char
a[4],也可存放4个字符,但最后一个字符得为\0,不然不能正常输入字符串.
char
a[4]={'a','b','c','\0'},当然'\0'也可以省略,char
a[4]={'a','b','c'}
但不能是char
a[4]={'a','b','c','d'},输出的时候会有乱码,因为没有结束标志.
1、显式地传递数组长度,例如
void sot(int a[], int n)
2、隐含地传递数组长度
1)在数组前面存储元数据
例如存储长度n=255的字符串,可以使用长度为n+1的数组。数组的第一个元素存储字符串的长度,接着是字符串的内容。
2)使用特殊元素在数组尾部标记数组的结束
最典型的例子就是C语言使用以NUL('\0')字符结尾的字符数组表示字符串。使用NULL指针标记指针数组的结束也是比较常见的用法。
C语言中函数参数只有数组指针的情况下,是不能判断数组长度的。
C语言如何获得数组的长度?
总长度充溢单个的长度,即得数组的个数。
int len = sizeof(unStartString)/sizeof(unsigned int)