Pointers 返回什么strlen(字符指针)?

Pointers 返回什么strlen(字符指针)?,pointers,strlen,Pointers,Strlen,我得到了以下代码: char sir[1000], *psir; cout << "Introduceti sirul de caractere: "; strcpy(sir ,"merge") ; int dim; dim = sizeof(sir); cout << "Dimensiunea zonei de memorie asociata variabilei masiv sir:"\ << dim << endl; dim = s

我得到了以下代码:

char sir[1000], *psir;
cout << "Introduceti sirul de caractere: ";
strcpy(sir ,"merge") ;
int dim;
dim = sizeof(sir);
cout << "Dimensiunea zonei de memorie asociata variabilei masiv sir:"\
    << dim << endl;
dim = strlen(sir);
cout << "Lungimea sirului de caractere introdus:" << dim << endl;

psir = new char[dim + 1];
dim = strlen(psir);
当我运行这段代码时,在最后一条语句中得到22,我不明白为什么。
有人能解释一下吗?

您正在用new创建一个新的字符数组,这很好。但是它没有初始化,所以询问它的内容会得到意想不到的答案。

我的意思是dim=22,当最后一个运行hanks mate!我真的对发生的事感到困惑。还有4分钟