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

  • DorkmanScott

    DorkmanScott

    14 NİSAN 2006
  • HowcastTechGadgets

    HowcastTechG

    22 EYLÜL 2010
  • Rootjunky.com

    Rootjunky.co

    22 EKİM 2011