İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

C++ da array boyutu?

algea21.07.20113 cevap6.742 görüntüleme
2011'den beri505 mesaj
#1
Programın çıktısı 4 olarak(sanırım pointer boyutu olarak) geri dönüyor. Gerçek boyutu olan 10 değerini vermesini istiyorum. Ne yapmak gerekiyor acaba:confused1:
#include <conio.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char** argv)
{
    char **newarray =new char * [10];
    for (int i =0;i<10;i++){
        *(newarray +i)=new char [25];
        strcpy(*(newarray+i),"New item");
    }
    printf("%d",sizeof(newarray));

    
    getch();
    return 0;

}
Cevaplar
2008'den beri34 mesaj
#2
C++ ta 2D array olmadığı için sizeof ile öğrenmen mümkün değil .
2008'den beri3.195 mesaj
#3
....
int x =0;
....

while(array[x] !='\0')
{
 ++x}
....
printf("Array size %d\n",x);



bir fikir verir umarım.
2008'den beri34 mesaj
#4
kosasker dedi: ↑
....
int x =0;
....

while(array[x] !='\0')
{
 ++x}
....
printf("Array size %d\n",x);



bir fikir verir umarım.
Benim anladığım kadarıyla array size'ı almak istiyor Array içerisindeki eleman sayısını değil ... Dynamic memory allocation yapıyorsan zaten array size i bilmek zorundasın , bunun içinde yardımcı sınıf yada struct kulanabilirsin aklıma gelen en kısa yöntem :


template<class T>
struct ArrayHolder {
T *pointerToArray;
size_t lengthOfArray;
};

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.