SORU
1 EYLÜL 2008, PAZARTESİ


Nasıl C benim dizinin boyutu belirleyebilirim?

Nasıl C benim dizinin boyutu belirleyebilirim?

Yani, dizinin tutabileceği eleman sayısını?

CEVAP
27 NİSAN 2012, Cuma


sizeof yol dizileri alınmayan ile ilgili iff parametre olarak doğru yoldur. Bir dizi bir fonksiyona parametre olarak gönderilen bir işaretçi olarak kabul edilir, sizeof işaretçinin boyutunu, dizinin yerine dönecektir.

Böylece, içindeki fonksiyonları bu yöntem çalışmıyor. Bunun yerine, her zaman 5 ** ek bir parametre dizideki öğe sayısını gösteren geçirir.

Test:

#include <stdio.h>
#include <stdlib.h>

void printSizeOf(int intArray[]);
void printLength(int intArray[]);

int main(int argc, char* argv[])
{
    int array[] = { 0, 1, 2, 3, 4, 5, 6 };

    printf("sizeof of array: %d\n", (int) sizeof(array));
    printSizeOf(array);

    printf("Length of array: %d\n", (int)( sizeof(array) / sizeof(array[0]) ));
    printLength(array);
}

void printSizeOf(int intArray[])
{
    printf("sizeof of parameter: %d\n", (int) sizeof(intArray));
}

void printLength(int intArray[])
{
    printf("Length of parameter: %d\n", (int)( sizeof(intArray) / sizeof(intArray[0]) ));
}

Çıkış (64-bit Linux OS):

sizeof of array: 28
sizeof of parameter: 8
Length of array: 7
Length of parameter: 2

Çıkışı (32-bit windows OS):

sizeof of array: 28
sizeof of parameter: 4
Length of array: 7
Length of parameter: 1

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chilla Frilla™

    Chilla Frill

    7 Aralık 2006
  • curioustravelers

    curioustrave

    12 AĞUSTOS 2006
  • TopDJMag TV

    TopDJMag TV

    29 Temmuz 2010