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

  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005
  • vgeller1

    vgeller1

    22 Kasım 2009