ero*_*gol -7 c++ arrays sizeof
可能重复:
如何查找sizeof(指向数组的指针)
我正在使用以下代码创建一个数组
float *A;
A = (float *) malloc(100*sizeof(float));
float *B;
B = (float *) malloc(100*sizeof(float));
Run Code Online (Sandbox Code Playgroud)
但在这些之后,当我按下面的方式键入A和B的大小时,我得到2,因为我希望看到100.
sizeof(A)/sizeof(float)
Run Code Online (Sandbox Code Playgroud)
Luc*_*ore 11
你的期望是错误的.A是一个float*,所以它的大小将是sizeof(float*),无论你如何实际分配它.
如果你有一个静态数组 - 即float A[100],那么这将有效.
由于这是C++,请使用std::array或std::vector.
最坏的情况,使用new[].绝对不要使用malloc.