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

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • Numberphile

    Numberphile

    15 EYLÜL 2011
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011