-
1.
0Merhaba arkadaşlar ben C ye yeni giriş yaptım ve dolaylama ile adres almada sıkıntı çekiyorum.
Örnek int i değişkenimiz var. By değişlenin adresini &i şeklinde alıyorum. Buraya kadar tamam.
i = 0 yerine *&i=0 da kullanabilirim miyim?
//////////////
int *d;
int i=10;
• d=&i;
d=0;
////////////////////
Yukardaki kod i'yi sıfır yapıyor *d şeklinde tanımlama doğru
int d;
int i=10;
d=&i;
• d=0;
////////////////////
Ama bu kod çalışmıyorum neden ? tanımlamayı neden *d şeklinde yapmak zorundayız ?
-
2.
0alabilirsin
pointer o -
3.
0alırsn aq nasıl alamıyosn
-
4.
0ilki yanlıs lan asıl
-
5.
0geçen sene aldım cb geldi dahada elleşmem.
-
6.
0http://imgim.com/8484incis9012016.jpg hata veriyor derlemiyor prgram
-
7.
0c# dan anlıyom panpa
-
8.
0hay gibeceğim biri bana i'nin adresini dolaylama ile sıfırlayabilir mi
Edit: pordon i yi adresini kullanarak sıfırlayabilir mi olacaktı -
9.
0ınt *d; olacak
-
10.
0adamim baslangicta pointer tanimlarken * kullanmalisin. soyle yap:
int *d;
int i = 10;
d = &i;
• d = 0;
printf("%d", i);
calisacaktir. anlamadigin bir sey varsa sor. -
11.
0///////////////
int *d;
int i=10;
printf("%dn",i);
d=&i;
• d=0;
printf("%d",i);
///////////////
bu şekilde çalıştı. tamamda anasını gibtimin dolaylama işaretini * neden değişkeni tanımlarken kullanıyoruz ? -
12.
+1pointer oldugunu belli etmek icin yaziorsun *'yi. daha sonra da o isareti kullandiginda pointer'in isaret ettigi yerdeki deger anlamina geliyor.
• d yazdiginda oradaki deger neyse = 0 yaptiginda degeri 0 yapmis olursun. pointer degismez.
sadece d kullandiginda ise 0'a esitlersen pointer 0'a esitlenir, ki bu da bir programcinin bu durumda istemeyecegi bir sey. -
13.
+1eğer fonksiyonun içindeki birden fazla değeri döndürmek istiyorsan pointer kullanırsın. hafıza için yer açıyorsun yani
- 14.
-
15.
0@13 fonksiyonun icindeki birden fazla degeri dondurmek mi? ne demek istedigini biraz daha aciklar misin?
-
16.
0@12 şukuladım.
-
17.
0kısaca int d değer atar int *d din adresini verir. mantıgını ona göre kur.