SORU
29 Aralık 2009, Salı


C programlama dilinde bir dizi boyutu?

Neden bir dizinin boyutu parametre olarak gönderilen ana içinde aynı değil mi?

#include <stdio.h>

void PrintSize(int p_someArray[10]);

int main () {
    int myArray[10];
    printf("%d\n", sizeof(myArray)); /* As expected, 40 */
    PrintSize(myArray);/* Prints 4, not 40 */
}

void PrintSize(int p_someArray[10]){
    printf("%d\n", sizeof(p_someArray));
}

CEVAP
29 Aralık 2009, Salı


Hayırdizi tipiörtülü olarakbir işleve geçirdiğinizde işaretçi türü dönüştürülür.

Yani

void PrintSize(int p_someArray[10]){
printf("%zu\n", sizeof(p_someArray));
}

ve

void PrintSize(int *p_someArray){
printf("%zu\n", sizeof(p_someArray));
}

eşdeğerdir. Yani ne değeri olursizeof(int*)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Moodle

    Moodle

    11 Mayıs 2010
  • NextGenWindows

    NextGenWindo

    8 Kasım 2011
  • UniqueApps

    UniqueApps

    4 Ocak 2009