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

  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • MofoHifi Records

    MofoHifi Rec

    15 HAZİRAN 2006
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013