Nasıl ''(bir işaretçi bir dizi işaret) boyutu bulmak için?
Öncelikle, burada bazı kod
int main()
{
int days[] = {1,2,3,4,5};
int *ptr = days;
printf("%u\n", sizeof(days));
printf("%u\n", sizeof(ptr));
return 0;
}
Bir şekilde ptr işaret ettiğini dizinin boyutu (yerine sadece dört bayt bir boyutu, veren) var mı?
CEVAP
Hayır, yapamazsın. Derleyici işaretçi işaret ederek ne olduğunu bilmiyor. Hileler, bant, bilinen bir değer ile dizinin sonu geldi ve daha sonra boyutunu sayım o kadar değeri var, ama bu boyutu kullanarak değil.
Başka bir hile, bir boyutu, bir yere saklamak için Zan tarafından belirtilir. Örneğin, eğer dinamik olarak tahsis dizi, tahsis bloğu bir int daha büyük bir ihtiyacın, zula boyutu ilk int ve iade Ao 1 olarak işaretçi dizi. Boyutu ihtiyacınız olduğunda, işaretçi ve tepede bulunan eksiltme değer saklanmış. Sadece bütün Sokağı baştan başlayarak, ve sadece dizi değil ücretsiz unutmayın.

Nasıl dizi boyutu bir (1) mongodb daha...
Nasıl O n uzunluğu sıralanmamış bir di...
Nasıl bir dizi öğe yinelenen bulmak iç...
Bir Nesneyi bulmak için nasıl bir Word...
Nasıl bir DOM düğüm üzerinde olay dinl...