#include<stdio.h>
#include<stdlib.h>
int main (int argc, char *argv[]) {
int* arr1 = (int*)malloc(sizeof(int)*4);
int arr2[4];
printf("%d \n", sizeof(arr1));
printf("%d \n", sizeof(arr2));
free(arr1);
return 0;
}
ВыходПочему размер массива malloc-ed и не-malloced-массив различны?
8
16
Почему?
Первый: указатель размера. Второй: sizeof array .... – LPs
Возможно, лучший дубликат: http://stackoverflow.com/questions/492384/how-to-find-the-sizeofa-pointer-pointing-to-an-array – Lundin
Ludin @ это о куча. –