Skip to content

Commit 88bf7e9

Browse files
committed
stack ve heap
1 parent 5750f93 commit 88bf7e9

1 file changed

Lines changed: 22 additions & 0 deletions

File tree

rst/c-dersi.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,28 @@ Konunun daha iyi anlaşılması için 2 stringi toplayan fonksiyon yazalım.
603603
printf("%s\n", new_str);
604604
}
605605
606+
Bellek yönetimi iki ana kısımda olur:
607+
608+
1. Stack (Yığın): Derleyicinin otomatik olarak yönettiği bellek alanı.
609+
610+
2. Heap (Öbek): Programcı tarafından yönetilen bellek alanı.
611+
612+
Bu iki bellek alanını kullanarak bir program yazalım.
613+
614+
.. code-block:: C
615+
616+
#include <stdio.h>
617+
void main() {
618+
int a; // stack'de yer ayırır ve değer atar.
619+
int *b = malloc(sizeof(int)); // öbek'ten bellek ayırır. Değer atanmamış.
620+
int c;
621+
b = &a; // pointer artık işaret ettiği adres değişmiş oluyor.
622+
scanf("%d",b);
623+
printf("Değer: %d\n",*b);
624+
}
625+
626+
Stack belleği derleyici tarafından otomatik olarak serbest bırakılır. Heap bellekleri için de serbest bırakmak gereklidir.
627+
606628
Struct
607629
^^^^^^
608630
**Structure** yapıları bellekte belli bir değişken topluluğu oluşturup kullanabilmek için kullanılır.

0 commit comments

Comments
 (0)