Array Eleman Ekleme C

Array Eleman Ekleme C

C programlama dilinde, bir diziye eleman eklemek için çeşitli yöntemler bulunmaktadır. Bu yöntemler, dizinin boyutuna, eklenen elemanın türüne ve dizinin bellekteki konumuna göre değişebilir.

1. Diziye Sonuna Eleman Ekleme

Bir diziye sonuna eleman eklemek için en basit yöntem, realloc() fonksiyonunu kullanmaktır. Bu fonksiyon, dizinin boyutunu artırır ve yeni elemanı dizinin sonuna ekler.

“`c

include

include

int main() {
int *dizi;
int boyut = 5;

// 5 elemanlı bir dizi oluştur
dizi = (int *)malloc(boyut * sizeof(int));

// Diziye elemanları ata
dizi[0] = 1;
dizi[1] = 2;
dizi[2] = 3;
dizi[3] = 4;
dizi[4] = 5;

// Diziye yeni bir eleman ekle
dizi = (int *)realloc(dizi, (boyut + 1) * sizeof(int));

// Yeni elemanı dizinin sonuna ata
dizi[boyut] = 6;

// Diziyi yazdır
for (int i = 0; i < boyut + 1; i++) {
    printf("%d ", dizi[i]);
}

// Belleği serbest bırak
free(dizi);

return 0;

}
“`

Bu örnekte, dizi adlı bir dizi oluşturulur ve 5 elemanla doldurulur. Daha sonra, realloc() fonksiyonu kullanılarak dizinin boyutu 6’ya artırılır ve yeni eleman dizinin sonuna eklenir. Son olarak, dizi yazdırılır ve bellek serbest bırakılır.

2. Diziye Belirli Bir İndekse Eleman Ekleme

Bir diziye belirli bir indekse eleman eklemek için, öncelikle dizinin boyutunu artırmak gerekir. Bu, realloc() fonksiyonu kullanılarak yapılabilir. Daha sonra, yeni eleman dizinin belirtilen indeksine atanabilir.

“`c

include

include

int main() {
int *dizi;
int boyut = 5;
int indeks = 2;
int yeni_eleman = 10;

// 5 elemanlı bir dizi oluştur
dizi = (int *)malloc(boyut * sizeof(int));

// Diziye elemanları ata
dizi[0] = 1;
dizi[1] = 2;
dizi[2] = 3;
dizi[3] = 4;
dizi[4] = 5;

// Diziye yeni bir eleman ekle
dizi = (int *)realloc(dizi, (boyut + 1) * sizeof(int));

// Yeni elemanı dizinin belirtilen indeksine ata
for (int i = boyut; i > indeks; i--) {
    dizi[i] = dizi[i - 1];
}
dizi[indeks] = yeni_eleman;

// Diziyi yazdır
for (int i = 0; i < boyut + 1; i++) {
    printf("%d ", dizi[i]);
}

// Belleği serbest bırak
free(dizi);

return 0;

}
“`

Bu örnekte, dizi adlı bir dizi oluşturulur ve 5 elemanla doldurulur. Daha sonra, realloc() fonksiyonu kullanılarak dizinin boyutu 6’ya artırılır. Yeni eleman, dizinin 2. indeksine atanır. Son olarak, dizi yazdırılır ve bellek serbest bırakılır.

3. Diziye Başına Eleman Ekleme

Bir diziye başına eleman eklemek için, öncelikle dizinin boyutunu artırmak gerekir. Bu, realloc() fonksiyonu kullanılarak yapılabilir. Daha sonra, yeni eleman dizinin başına atanabilir.

“`c

include

include

int main() {
int *dizi;
int boyut = 5;
int yeni_eleman = 10;

// 5 elemanlı bir dizi oluştur
dizi = (int *)malloc(boyut * sizeof(int));

// Diziye elemanları ata
dizi[0] = 1;
dizi[1] = 2;
dizi[2] = 3;
dizi[3] = 4;
dizi[4] = 5;

// Diziye yeni bir eleman ekle
dizi = (int *)realloc(dizi, (boyut + 1) * sizeof(int));

// Yeni elemanı dizinin başına ata
for (int i = boyut; i > 0; i--) {
    dizi[i] = dizi[i - 1];
}
dizi[0] = yeni_eleman;

// Diziyi yazdır
for (int i = 0; i < boyut + 1; i++) {
    printf("%d ", dizi[i]);
}

// Belleği serbest bırak
free(dizi);

return 0;

}
“`

Bu örnekte, dizi adlı bir dizi oluşturulur ve 5 elemanla doldurulur. Daha sonra, realloc() fonksiyonu kullanılarak dizinin boyutu 6’ya artırılır. Yeni eleman, dizinin başına atanır. Son olarak, dizi yazdırılır ve bellek serbest bırakılır.

Faydalı Siteler ve Dosyalar


Yayımlandı

kategorisi