Дынамічна абвешчаны масіў SizeOf

Possible Duplicate:
How to find the sizeof( a pointer pointing to an array )

Я чырвоны гэта , але гэта не дапамагло мне шмат.

int* sum;
int size = 10;
sum = calloc(10, sizeof(int));

printf("Total length: %d", sizeof(sum)/sizeof(*sum))

Код вяртае 1, як і чакалася.

Я ведаю, што было б лягчэй карыстачу пераменнага памеру.

Маё пытанне заключаецца ў тым, што ёсць спосаб знайсці гэты масіў патрэбнага памеру з дапамогай SizeOf?

Дзякуючы.

0
чым пытанне?
дададзена аўтар Jens Gustedt, крыніца

1 адказы

Акрамя адсочвання памеру самастойна (напрыклад, кнопка памер зменныя ў вашым прыкладзе), няма ніякага партатыўнага/стандартнага спосабу атрымання памеру дынамічна вылучанага блока памяці.

2
дададзена
ТАКІМ ЧЫНАМ ў я хачу перадаць гэты блок памяці ў якасці параметру функцыі трэба перадаць памер масіва занадта. Там няма іншага шляху. Дзякуй!
дададзена аўтар TGM, крыніца
@TGM: даволі шмат, так. Вы можаце зрабіць яго больш зручным, групуючы ўказальнік і памер у структурах (і, магчыма, нават даць некалькі функцый для доступу і кіравання дадзенымі).
дададзена аўтар Sander De Dycker, крыніца