在C语言中习惯上在
使用时都把它定义成一个宏,比如#define
GET_ARRAY_LEN(array,len) {len = (sizeof(array) /
sizeof(array[0]));}。
而在C++中则可以使用模板技术定义一个函数,比如:
template
例如:char a[]="abcdefg"或者char
a[]={"abcdefg"}
则所求得的长度为字符数组的长度,而不是对应的字符串的长度,要求字符串的长度还需要减一
原因为存储字符串的字符数组末尾有一个'\0'字符,需要去掉它。