[Çözüldü] Pointer Sorusu .

Başlatan SirGre, 08 Eylül 2016 - 19:01:11

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

SirGre

Arkadaşlar herkese merhaba . Yanlış format diyor sanırım sitelere baktığımda %zu (formatın ne olduğunu bilmiyorum) kullandığımızda sorun kalmaz diyorlar fakat aynı hatayı tekrar aldım yardımcı olurmusunuz .
Yazdığım kod >
#include <stdio.h>

int main (){
int a=10;
int *p;
p=&a;
printf ("%d \n",*p); //P'nin gösterdiği yeri basar.
printf ("%d \n",p);  // p'nin değerini yani ,p'nin gösterdiği yerin adresini basar .
printf ("%d \n",a); // a nın değerini basar.
printf ("%d \n",&a); // a'nın adresini basar.
printf ("%d \n",&p); // p'nin adresini basar .
return 0;

}


Çıktısı
gcc pointer.c
pointer.c: In function 'main':
pointer.c:10:10: warning: format '%d' expects argument of type 'int', but argument 2 has type 'int *' [-Wformat=]
  printf ("%d \n",p);  // p'nin değerini yani ,p'nin gösterdiği yerin adresin
          ^
pointer.c:12:10: warning: format '%d' expects argument of type 'int', but argument 2 has type 'int *' [-Wformat=]
  printf ("%d \n",&a); // a'nın adresini basar.
          ^
pointer.c:13:10: warning: format '%d' expects argument of type 'int', but argument 2 has type 'int **' [-Wformat=]
  printf ("%d \n",&p); // p'nin adresini basar .
          ^

harun252525

yalnış hatırlamıyorsam bellek adresii bastırmak için "%p" kullanılıyordu

int a;
int *p = &a;

printf("%p  %p ", &a, p)

bu komutun çıktısı  "2342 2342" gibisinden olur dikkat edersen iki sayıda aynı çünki &a ile p aynı şey
Kod Yazmak Bir Şiirdir.

SirGre

Tamamdır hocam çok teşekkür ederim bilgilendirme için .

harun252525

faydalı olduysam ne mutlu bize ö.d
Kod Yazmak Bir Şiirdir.