SORU
13 AĞUSTOS 2010, Cuma


Bir fonksiyon içinde Return dizi

6* *bir işleve geçirilen bir dizi int arr[5] var:

int fillarr(int arr[])
{
    for(...);
    return arr;
}
  1. Bu dizi nasıl dönebilirim?
  2. Nasıl kullanılacağını, geri döndüm ki bir işaretçi nasıl erişmek için gidiyorum ben?

CEVAP
13 AĞUSTOS 2010, Cuma


Bu durumda, eğer dizi değişken arr gerçekten de örtülü bir dönüştürme tarafından bellekte dizinizi blok, başlangıcına bir işaretçi olarak tedavi edilebilir. Bu kullandığınız komut:

int fillarr(int arr[])

Sadece sözdizimsel şeker. Gerçekten bu ile değiştirin ve hala işe yarar:

int fillarr(int* arr)

İşlevinden dönmek istediğini aynı anlamda, aslında dizideki ilk öğe için bir işaretçi.

int* fillarr(int arr[])

Ve hala senin gibi kullanmak mümkün olacak normal bir dizi:

int main()
{
  int y[10];
  int *a = fillarr(y);
  cout << a[0] << endl;
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010
  • Michelle Phan

    Michelle Pha

    18 Temmuz 2006