在C中求char* s[]={"key1=value1","key2= value2","key3 =value3 "}中s数组元素的个数
如,在这个指针数组中元素个数为3;
用什么算法可以算出3:
我用sizeof(s)/sizeof(**s),这个得出值为12
首先你要弄清楚这是个数组,元素类型是char *指针。
然后两种方式:
1. sizeof(s) / sizeof(s[0])
2. sizeof(s) / sizeof(char *)
sizeof(s)就是s[0]的字节数,自然是12字节,最后的\0要算上,**s就是s[0]的第一个字符,大小为一个字节。不知道这样理解正确吗?至于求长度,可以在for语句里面用strlen(s[i])==0去做判断。你试一下,我没有在机器上运行,不知道有没有错。