diff --git a/ChangeLog b/ChangeLog index 809eef3..4ffe3c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2024-02-19 Mert Gör + * c-basic/local.variable.c: Bir global değişkenle aynı isimli yerel değişkenler tanımlanabilir. Çünkü bunlar farklı faaliyet alanlarına sahiptir. +Tabi ilgili blokta bu değişken ismi kullanıldığında dar faaliyet alanaına sahip olana (yani yerel olana) erişilir. + + + * c-basic/global.variable.scope.c: Bildirimleri fonksiyonların dışında yapılan değişkenlere global değişkenler denir. Global değişkenler dosya faaliyet +alanına (file scope) sahiptir. Yani tüm fonksiyonlarda tanınırlar. + + * c-basic/scope.example.c: C'de bir blokta bir'den fazla değişken faaliyet gösteriyorsa o blokta o değişken ismi kullanıldığında dar faaliyet +alanına sahip olan değişkene erişilir. + * c-basic/global-local-variables.c: global and local variable scopes exmplained * c-basic/void.function.c: void fonksiyonlarda return kullanılmamışsa fonksiyon ana blok sonlanınca sonlanır. diff --git a/c-basic/global.variable.scope.c b/c-basic/global.variable.scope.c new file mode 100644 index 0000000..104efb4 --- /dev/null +++ b/c-basic/global.variable.scope.c @@ -0,0 +1,16 @@ +#include + +int a; + +void foo(){ + a = 10; +} + +int main(){ + a = 20; + printf("%d\n", a); + foo(); + printf("%d\n", a); + + return 0; +} \ No newline at end of file diff --git a/c-basic/local.variable.c b/c-basic/local.variable.c new file mode 100644 index 0000000..cb6452c --- /dev/null +++ b/c-basic/local.variable.c @@ -0,0 +1,20 @@ +#include + +int a; + +void foo() +{ + int a; + + a = 10; /* yerel olan a */ +} + +int main() +{ + a = 20; /* global olan a */ + printf("%d\n", a); /* 20 */ + foo(); + printf("%d\n", a); /* 20 */ + + return 0; +} \ No newline at end of file diff --git a/c-basic/scope.example.c b/c-basic/scope.example.c new file mode 100644 index 0000000..b6a0800 --- /dev/null +++ b/c-basic/scope.example.c @@ -0,0 +1,19 @@ +#include + +int main(){ + int a; + + a = 10; + + { + int a; + + a = 20; + printf("%d\n", a); + } + + printf("%d\n", a); + + return 0; + +} \ No newline at end of file