1.char *str="0123456789"; 这个变量是存在静态区域的,是delete不了的,是内存自动分配的,可以用strlen(str)得到其长度,不能用sizeof。
但是有一种情况可以用sizeof,char数组,如:
char str[] = "0123456789";
printf("%d ", sizeof(str));
2.如果是动态内存分配,则程序员是知道分配内存大小的
如 char *str = new char[100];
1.char *str="0123456789"; 这个变量是存在静态区域的,是delete不了的,是内存自动分配的,可以用strlen(str)得到其长度,不能用sizeof。
但是有一种情况可以用sizeof,char数组,如:
char str[] = "0123456789";
printf("%d ", sizeof(str));
2.如果是动态内存分配,则程序员是知道分配内存大小的
如 char *str = new char[100];