Struct Arrays

Kategori: C , 25 Haziran 2019 , JanFranco


Arrayler herhangi bir veri tipinden oluşabilmektedir. Integer verileri tutabilir, float verileri tutabilir vs. Bu dökümanda structları tutan bir array tanımlayacağız:

struct myStruct{
    int x;
    int y;
};

void execute(struct myStruct *s){
    
}

int main(){

    int i;
    struct myStruct array[10];

    for(i=0; i<10; i++){
        array[i].x = i;
        array[i].y = i;
    }

    for(i=0; i<10; i++){
        execute(&(array[i]));
    }

    return 0;

}

struct myStruct tipinde bir struct array tanımladık ve boyutunu 10 olarak ayarladık. Daha sonra for döngüsü ile her bir structın x ve y değerlerini belirledik. execute adında bir fonksiyon tanımladık ancak bu fonksiyonda bir işlem yapmadık. Burada amaç sadece göstermek. Burada dikkat edilmesi gereken noktalardan biri de fonksiyona elemanları direk olarak göndermememiz. Her bir structı adress operatörü (&) ile gönderdik. Bunun sebebini daha önce açıklamıştık. Fonksiyona gönderilen parametrelerin kopyası oluşturulur. Burada structımız iki değer tutmakta ancak 500.000 değer de tutabilirdi ve bunun kopyalanması bir performans kaybı olurdu. Structı direk olarak göndermek yerine, structın adresini göndererek hız kazandırmış olduk.


Sonraki Yazı: Strings
Yorumlar

Henüz bir yorum bulunmuyor.
Yorum bırakın