什么strlen(char的指针)正在返回?

时间:2017-03-05 07:32:04

标签: 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 = strlen(sir);
cout << "Lungimea sirului de caractere introdus:" << dim << endl;

psir = new char[dim + 1];
dim = strlen(psir);

当我运行此代码时,我在最后一个语句中得到22,我不明白为什么。 有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

您正在使用New创建一个新的char数组,这很棒。但它没有初始化,因此询问其内容会产生意想不到的答案。