ChinaUnix.net
相关文章推荐:

strlen sizeof 区别

如题,请教高手解释二者的区别

by liqxy - C/C++ - 2006-06-09 12:57:56 阅读(1696) 回复(14)

相关讨论

下面的程序:[code] #inlcude "string.h" void main(void) { unsigned char j; // 1 unsigned char s1[10]; // 2 j = sizeof(&s1); // 3 memset(&s1,0x10,sizeof(&s1)); // 4 while(1){} // 5 }[/code] 这段程序单步跟踪运行到第四行时,j的值是对的,但运行到第五行时,j的值变为0x...

by hjs6142 - C/C++ - 2003-06-06 15:46:44 阅读(2157) 回复(34)

#include #include void func(char * str) { printf("sizeof(str)=%d\n", sizeof(str)); printf("strlen(str)=%d\n", strlen(str)); } int main(void) { int b[]={1,2,3,4,5,6}; char a[]="123456789"; printf("sizeof(a)=%d\n", sizeof(a)); printf("sizeof(b)=%d\n", sizeof(b)); func(a); return 0; } func中第一个为什么是sizeof(s...

by fengyun1090 - C/C++ - 2008-10-26 13:19:52 阅读(1810) 回复(11)

char buf[10]; sizeof(buf)=10,我理解。 为什么strlen(buf)=7呢。这个就不理解了。。。

by lemonniu - C/C++ - 2008-09-20 09:57:54 阅读(2441) 回复(18)

实例代码: char* buf="buftest"; char r_buf[64]; printf("buf len:%d\n", strlen(buf)); printf("buf size:%d\n", sizeof(buf)); printf("r_buf len:%d\n", strlen(r_buf)); printf("r_buf size:%d\n", sizeof(r_buf)); 结果: buf len:7 buf size:4 r_buf len:0 r_buf size:64 以上为测试结果。 问题: 为什么sizeof(buf)=4而sizeof(r_buf)=64

by akei48 - C/C++ - 2008-02-21 16:23:02 阅读(1280) 回复(5)

问题:vector.size(),vector.capacity(),sizeof(vector)是怎么计算的,结果跟什么有关? 环境: gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-47) 代码: #include #include #include #include #include #include using namespace std; #define number 33 vector vbool(number); vector vint(number); vector vdouble(number); vector

by zhumingpeng - C/C++ - 2009-08-07 13:47:27 阅读(1144) 回复(1)

char str[10]; memset(str,0,sizeof(str))和memset(&str,0,sizeof(str))的区别在那里? 请高手指点阿!!! [ 本帖最后由 wangjm213 于 2006-2-28 10:36 编辑 ]

by wangjm213 - C/C++ - 2006-03-13 09:54:30 阅读(6730) 回复(33)

请先看代码1: #include #include #include using namespace std; int main(int argc, char* argv[]) { char *p = (char *)malloc(15); char *cp = p; char x = 'a'; for (int i=0;i<15;i++) { *(p++) = x++; } string s1 = "abcdefghijk"; cout<<"strlen-p:"<<strlen(p)<<" sizeof-p:"<<sizeof(p)<strlen-cp:"<<strlen(cp)<<" sizeof-p:"<<sizeof(cp)<

by lsupper - C/C++ - 2009-05-16 20:59:45 阅读(2503) 回复(29)

不要上机测试,否则便没有什么意义。 如下程序的输出是什么? [code] 在intel x86(32-bit) platform. #include ; int main( ) { char str[10]; char *p; memset(str,0x00,sizeof(str)); p = (char *)malloc(100); printf("%d\n",sizeof(p)); printf("%d\n",sizeof('p')); printf("%d\n",strlen(str)); exit(0); } [/code]

by 蓝色键盘 - C/C++ - 2004-01-17 00:04:35 阅读(2504) 回复(38)

請問: char a[10]; cout << strlen(a) << endl; ===>;13 cout << sizeof(a) << endl; ===>;10 爲什麽會有這種區別? a有沒有分配内存?

by nkfeiyang - C/C++ - 2003-08-27 20:52:04 阅读(1027) 回复(7)

char aa[10] ="abcd"; printf("%d\n",strlen(aa)); 这个结果为4 , 对的, 为什么下个题目就变成 15 我查了好多资料还是想不通这个题目!!! char a[10],strlen(a)为什么等于15? char aa[10]; printf("%d",strlen(aa)); 这也太奇怪了吧, char aa[1]; printf("%d",strlen(aa)); 结果为 7 这也太奇怪了吧, 请大家看看

by militala - C/C++ - 2007-11-11 18:57:14 阅读(1403) 回复(9)