相关疑难解决方法(0)

char指针c ++的长度

可能重复:
如何查找sizeof(指向数组的指针)

例如,使用malloc声明char指针时.有没有办法确定分配的长度.

例如,如果我定义一个char数组,我可以很容易地找到元素的数量

char a[10];
a[0]='c';
cout << sizeof(a) / sizeof(a[0]);
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用char指针,那么会产生10.

char *a;
a = (char*)malloc(10);
a[0] = 'c';
cout << sizeof(a) / sizeof(a[0]);
Run Code Online (Sandbox Code Playgroud)

然后它产生8,这显然是指针的大小,而不是分配的长度.

是否有可能找到char指针的分配长度?

我问这个而不是使用std :: string或其他的原因是因为我在解决一些面试问题时遇到了这个问题.因此出于好奇

c

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

c ×1