Ticker

6/random/ticker-posts

20 Adet C Pointer Örnek Soruları ve Cevapları

C programlamanın en çetrefilli en zorlanılan, zor anlaşılan konularından biri de pointer (işaretçi) yapısıdır. C'de pointer konusunu daha iyi anlamaya yardımcı olması amacıyla 20 tane örnek soruyu ve çözümünü aşağıda inceleyebilirsiniz. Çözümlere hemen geçmeden kendi çözümlerinizi denemeniz kavrama açısından daha faydalı olacaktır.

C'de pointer örnek sorular çözümler
C'de pointer örnek sorular çözümler


  1. Temel pointer tanımlamayı gösterecek bir C programı yazınız.
    Konsolda beklenen çıktı:

    Temel pointer tanımlama :
     a, b, ve c birer int tamsayi ve a = 10
    
     d ise bir tam sayi pointer'i ve a'nin adresini tutuyor: 0x7ffdef83147c
    
     *d ile a'nin degerine ulasiyoruz a = 10
    
     &a ile a'nin pointer adresine ulasiyoruz a = 0x7ffdef83147c
    
     &b ile b'nin pointer adresine ulasiyoruz : 0x7ffdef831478
    
     &c  ile c'nin pointer adresine ulasiyoruz : 0x7ffdef831474
    
     &d ile d'nin pointer adresine ulasiyoruz : 0x7ffdef831468
    


  2. Pointerların nasıl kullanıldığını gösteren bir C programı yazınız.
    Konsolda beklenen çıktı:

    Pointer kullanimi:
     ab = int pointer'i, int m = 17
    
     m'nin adresi : 0x7ffc8f3145a4
     m'nin degeri : 17
    
     m'nin adresi ab'ye atandı.
     ab'nin adresi : 0x7ffc8f3145a4
     ab'nin icerigi : 17
    
     m'ye 35 degeri atandi.
     ab'nin adresi : 0x7ffc8f3145a4
     ab'nin icerigi : 35
    
     ab'nin isaret ettigi degiskenin degeri 8 olarak atandi.
     m'nin adresi: 0x7ffc8f3145a4
     m'nin degeri : 8
    


  3. & (Adresi) ve * (adresteki değer) operatörünün kullanımını göstermek için bir C programı kodu yazınız.
    Konsolda beklenen çıktı:

     & (Adresi) ve * (adresteki deger) operatorunun kullanimi :
     m = 200
     fx = 200.600006
     cht = z
    
     & operator kullanimi :
    -----------------------
     m'nin adresi= 0x7ffe069f1234
     fx'in adresi = 0x7ffe069f1230
     cht'nin adresi = 0x7ffe069f122f
    
     & ve * operator kullanimi :
    -----------------------------
     m'nin adresindeki deger = 200
     fx'in adresindeki deger = 200.600006
     cht'nin adresindeki deger = z
    
     Sadece pointer kullanimi :
    ----------------------------------
     m'nin adresi = 0x7ffe069f1234
     fx'in adresi = 0x7ffe069f1230
     cht'nin adresi = 0x7ffe069f122f
    
     Sadece pointer operatorunun kullanimi :
    ----------------------------------
     m'nin adresindeki deger = 200
     fx'in adresindeki deger = 200.600006
     cht'nin adresindeki deger = z
    


  4. Pointer'ları (işaretçileri) kullanarak 2 sayıyı toplayan bir C program kodu yazınız. Girdi olarak konsoldan iki sayı okuyunuz.
    Konsolda beklenen çıktı:

    iki sayiyi toplama :
    --------------------------------
     ilk sayiyi giriniz : 45
     ikinci sayiyi giriniz : 67
     Girilen sayilarin toplami : 112
    


  5. Call by reference (referansla çağrı) kullanarak iki sayıyı toplayan bir C program kodu yazınız.
    Konsolda beklenen çıktı:

    call by reference kullanarak iki sayi toplama:
    -------------------------------------------------------
     ilk sayiyi giriniz : 52
     ikinci sayiyi giriniz : 14
     52 ve 14 sayilarinin toplami: 66
    


  6. Pointer kullanarak iki sayıdan en büyüğünü bulan bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     iki sayidan en buyugunu bulunuz :
    ------------------------------------------------------------
     ilk sayiyi giriniz : 47
     ikinci sayiyi giriniz : 57
    
    
     en buyuk sayi: 57 
    


  7. Pointer kullanarak n elemanlı bir array'i dolduran ve elemanlarını yazdıran bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     n elemanli bir array'i doldur ve elemanlarini yazdir :
    ------------------------------------------------------------
     Doldurulacak sayi miktarini giriniz :5
     5 adet sayi giriniz 
     eleman - 0 : 47     
     eleman - 1 : 51
     eleman - 2 : 96
     eleman - 3 : 2      
     eleman - 4 : 10
     Girilen elemanlar : 
     eleman - 0 : 47 
     eleman - 1 : 51 
     eleman - 2 : 96 
     eleman - 3 : 2 
     eleman - 4 : 10 
    



  8. Pointer kullanarak verilen bir string'in tüm permütasyonlarını yazdıran C program kodu yazınız.
    Konsolda beklenen çıktı:

     muro String'in permutasyonlarini yazdir :
    --------------------------------------------------------
     Permutasyonlar : 
    muro  muor  mruo  mrou  moru  mour  umro  umor  urmo  urom  uorm  uomr  rumo  ruom  rmuo  rmou  romu  roum  ourm  oumr  orum  ormu  omru  omur
    


  9. Dinamik bellek ayırma (dynamic memory allocation) yöntemi ile en büyük elemanı bulan bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     Dynamic Memory Allocation ile en guyuk sayiyi bul:
    -------------------------------------------------------------------------
     Girilecek eleman miktarini belirleyiniz (1 - 100 arasi): 4
    
     sayi 1: 7
     sayi 2: 10
     sayi 3: 2
     sayi 4: 89
     En buyu sayi :  89.00 
    


  10. Pointer kullanarak verilen bir string'in uzunluğunu hesaplayan C program kodu yazınız.
    Konsolda beklenen çıktı:

     String'in uzunlugunu hesapla :
    ---------------------------------------------------
     String giriniz : Adana
     Girilen Adana
     stringinin uzunlugu : 5 
    


  11. Call by reference kullanarak elemanları değiş tokuş (swap) eden bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     Call by reference ile swap islemi :
    ------------------------------------------------------
     İlk elemanı giriniz : 9
     ikinci elemani girinizelement : 5
     Ucuncu elemani giriniz : 4
    
     Swap'dan onceki degerler:
     eleman 1 = 9
     eleman 2 = 5
     eleman 3 = 4
    
     Swap'dan sonraki degerler:
     eleman 1 = 4
     eleman 2 = 9
     eleman 3 = 5
    


  12. Pointer kullanarak verilen bir sayının faktöriyelini hesaplayan C program kodu yazınız.
    Konsolda beklenen çıktı:

     Sayinin fakroriyelini bul :
    ------------------------------------------------------
     Bir sayi giriniz : 5
     5 sayisinin faktoriyeli : 120 
    


  13. Verilen bir stringdeki ünlü ve ünsüz harfleri pointer kullanarak sayan C program kodu yazınız.
    Konsolda beklenen çıktı:

     Sesli ve sessiz harfleri say:
    ----------------------------------------------------------
     Bir string giriniz: Turkey
     Sesli harfler : 2
     Sessiz harfler : 4
    


  14. Pointer kullanarak bir diziyi (array) sıralayan C program kodu yazınız.
    Konsolda beklenen çıktı:

     Bir arrayi pointer kullanarak sirala:
    --------------------------------------------
     Eleman sayisini giriniz : 4
     4 tane sayi girinizarray : 
     eleman - 1 : 14
     eleman - 2 : 78
     eleman - 3 : 87
     eleman - 4 : 58
    
     Siralama sonrasi elemanlar: 
     eleman - 1 : 14 
     eleman - 2 : 58 
     eleman - 3 : 78 
     eleman - 4 : 87 
    


  15. Bir fonksiyonun nasıl pointer döndüğünü gösteren C program kodu yazınız. Konsolda beklenen çıktı:

     Pointer donen fonksiyon yaz :
    --------------------------------------------------
     ilk sayiyi giriniz : 45
     ikinci sayiyi giriniz : 96
     Buyuk olan sayi: 96 
    


  16. Bir dizideki tüm elemanların toplamını pointer kullanarak hesaplayan C program kodu yazınız.
    Konsolda beklenen çıktı:

     Bir arraydeki tum elemanlari topla :
    ------------------------------------------------
     Eleman sayisini giriniz (maksimum 10 lutfen) : 4
     4 adet sayi giriniz : 
     eleman - 1 : 14
     eleman - 2 : 65
     eleman - 3 : 85
     eleman - 4 : 123
     Tum arrayin toplami : 287
    


  17. Bir dizinin elemanlarını pointer kullanarak ters sırada yazdıran C program kodu yazınız.
    Konsolda beklenen çıktı:

    Array'in elemanlarini ters sirada yazdir :
    ----------------------------------------------------------------
     Eleman sayisini giriniz (maksimum 15 lutfen) : 3    
     3 adet sayi giriniz : 
     eleman - 1 : 57
     eleman - 2 : 41
     eleman - 3 : 100
    
     Arrayin tersten siralanmis elemanlari :
     eleman - 3 : 100  
     eleman - 2 : 41  
     eleman - 1 : 57  
    


  18. Yapıya (struct) pointer kullanımını gösteren bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     struct pointer kullanimi:
    --------------------------------------------------------
     Ahmet Portakal adresi Karanfil Caddesi 
     
    


  19. Birleşime (union) pointer kullanımını gösteren bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     union pointer kullanimi :
    ----------------------------------------
     Ahmet Agri Ahmet Agri
    


  20. Tüm alfabeyi pointer kullanarak yazdıran bir C program kodu yazınız.
    Konsolda beklenen çıktı:

     Alfabeyi yazdir:
    ----------------------------------------
     Harfler : 
     A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 
    

 



Cevaplar

1.

#include <stdio.h>
void main(void)
{

int a = 10, b, c;

int *d = &a;

	printf("\n\nTemel pointer tanımlama :\n");
	
	printf(" a, b, ve c birer int tamsayi ve a = 10");
	// d bir pointer ve %p ile pointer adresini yazdiriyoruz	
	printf("\n\n d ise bir tam sayi pointer'i ve a'nin adresini tutuyor: %p\n",  d); 
	printf("\n *d ile a'nin degerine ulasiyoruz a = %i\n",   *d); 
	printf("\n &a ile a'nin pointer adresine ulasiyoruz a = %p\n",   &a); 
	printf("\n &b ile b'nin pointer adresine ulasiyoruz : %p\n",   &b);
	printf("\n &c  ile c'nin pointer adresine ulasiyoruz : %p\n",   &c);
	printf("\n &d ile d'nin pointer adresine ulasiyoruz : %p\n\n", &d); 
}

2.

#include <stdio.h>
int main()
{
   int* ab;
   int m;
   m = 17;
   
   printf("\n\n Pointer kullanimi:\n"); 
   printf(" ab = int pointer'i, int m = 17\n\n");
    
   printf(" m'nin adresi : %p\n",&m);
   printf(" m'nin degeri : %d\n\n",m);
   
   ab = &m;
   
   printf(" m'nin adresi ab'ye atandı.\n");
   printf(" ab'nin adresi : %p\n",ab);
   printf(" ab'nin icerigi : %d\n\n",*ab);
   
   m = 35;
   
   printf(" m'ye 35 degeri atandi.\n");
   printf(" ab'nin adresi : %p\n",ab);
   printf(" ab'nin icerigi : %d\n\n",*ab);
   
   *ab = 8;
   
   printf(" ab'nin isaret ettigi degiskenin degeri 8 olarak atandi.\n");
   printf(" m'nin adresi: %p\n",&m);//ab m'nin adresini icerdigi icin
                                     //m 'nin degeri 8 olarak degisti
   printf(" m'nin degeri : %d\n\n",m);
   return 0;
}

3.

#include <stdio.h>
void main()
{
  int m = 200;
  float fx = 200.60;
  char cht = 'z';
  
   printf("\n\n & (Adresi) ve * (adresteki deger) operatorunun kullanimi :\n"); 
   
  int *pt1;
  float *pt2;
  char *pt3;
  pt1 = &m;
  pt2 = &fx;
  pt3 = &cht;
  
  printf ( " m = %d\n",m);
  printf ( " fx = %f\n",fx);
  printf ( " cht = %c\n",cht);
  printf("\n & operator kullanimi :\n"); 
  printf("-----------------------\n");  
  printf ( " m'nin adresi= %p\n",&m);
  printf ( " fx'in adresi = %p\n",&fx);
  printf ( " cht'nin adresi = %p\n",&cht);
  printf("\n & ve * operator kullanimi :\n"); 
  printf("-----------------------------\n"); 
  printf ( " m'nin adresindeki deger = %d\n",*(&m));
  printf ( " fx'in adresindeki deger = %f\n",*(&fx));
  printf ( " cht'nin adresindeki deger = %c\n",*(&cht));
  printf("\n Sadece pointer kullanimi :\n"); 
  printf("----------------------------------\n"); 
  printf ( " m'nin adresi = %p\n",pt1);
  printf ( " fx'in adresi = %p\n",pt2);
  printf ( " cht'nin adresi = %p\n",pt3);
  printf("\n Sadece pointer operatorunun kullanimi :\n"); 
  printf("----------------------------------\n"); 
  printf ( " m'nin adresindeki deger = %d\n",*pt1);
  printf ( " fx'in adresindeki deger = %f\n",*pt2);
  printf ( " cht'nin adresindeki deger = %c\n\n",*pt3);
}

 4.

#include <stdio.h>
int main()
{
   int firstno, secondno, *ptr, *qtr, sum;
   
   printf("\n\n iki sayiyi toplama :\n"); 
   printf("--------------------------------\n");   
 
   printf(" ilk sayiyi giriniz : ");
   scanf("%d", &firstno);
   printf(" ikinci sayiyi giriniz : ");
   scanf("%d", &secondno);   
 
   ptr = &firstno;
   qtr = &secondno;
 
   sum = *ptr + *qtr;
 
   printf(" Girilen sayilarin toplami : %d\n\n",sum);
 
   return 0;
}

5.

#include <stdio.h>

long addTwoNumbers(long *, long *);
 
int main()
{
   long firstno, secondno, sum;
   
   printf("\n\n call by reference kullanarak iki sayi toplama:\n"); 
   printf("-------------------------------------------------------\n");   
 
   printf(" ilk sayiyi giriniz : ");
   scanf("%ld", &firstno);
   printf(" ikinci sayiyi giriniz : ");
   scanf("%ld", &secondno);   
   sum = addTwoNumbers(&firstno, &secondno);
   printf(" %ld ve %ld sayilarinin toplami: %ld\n\n", firstno, secondno, sum);
   return 0;
}
long addTwoNumbers(long *no1, long *no2) 
{
   long sum;
   sum = *no1 + *no2;
   return sum;
}

6.

#include <stdio.h>
#include <stdlib.h>
void main()
{
 int firstno,secondno,*ptr1=&firstno,*ptr2=&secondno;
 
   printf("\n\n iki sayidan en buyugunu bulunuz :\n"); 
   printf("------------------------------------------------------------\n");   
 
   printf(" ilk sayiyi giriniz : ");
   scanf("%d", ptr1);
   printf(" ikinci sayiyi giriniz : ");
   scanf("%d", ptr2); 


 if(*ptr1>*ptr2)
 {
  printf("\n\n en buyuk sayi: %d \n\n",*ptr1);
 }
 else
 {
  printf("\n\n en buyuk sayi: %d \n\n",*ptr2);
 }

}

7.

#include <stdio.h>
int main()
{
   int arr1[25], i,n;
   printf("\n\n n elemanli bir array'i doldur ve elemanlarini yazdir :\n"); 
   printf("------------------------------------------------------------\n");    
   printf(" Doldurulacak sayi miktarini giriniz :");
   scanf("%d",&n);
   
   printf(" %d adet sayi giriniz \n",n);
   for(i=0;i<n;i++)
   {
	
	  printf(" eleman - %d : ",i);
	  scanf("%d",arr1+i);
	 
   }
   printf(" Girilen elemanlar : \n");
   
   for(i=0;i<n;i++)
   {
	  printf(" eleman - %d : %d \n",i,*(arr1+i));	
   }
	   return 0;
}

8.

#include <stdio.h>
#include <string.h>

void changePosition(char *ch1, char *ch2)
{
    char tmp;
    tmp = *ch1;
    *ch1 = *ch2;
    *ch2 = tmp;
}
void charPermutation(char *cht, int stno, int endno)
{
   int i;
   if (stno == endno)
     printf("%s  ", cht);
   else
   {
       for (i = stno; i <= endno; i++)
       {
          changePosition((cht+stno), (cht+i));
          charPermutation(cht, stno+1, endno);
          changePosition((cht+stno), (cht+i)); 
       }
   }
}
 
int main()
{
   char str[] = "muro";
   printf("\n\n muro String'in permutasyonlarini yazdir :\n"); 
   printf("--------------------------------------------------------\n"); 
   int n = strlen(str);
   printf(" Permutasyonlar : \n");
   charPermutation(str, 0, n-1);
   printf("\n\n");
   
   return 0;
}

9.

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i,n;
    float *element;
	printf("\n\n Dynamic Memory Allocation ile en guyuk sayiyi bul:\n"); 
	printf("-------------------------------------------------------------------------\n"); 	
    printf(" Girilecek eleman miktarini belirleyiniz (1 - 100 arasi): ");
    scanf("%d",&n);
    //n eleman icin memory ayrildi 
    element=(float*)calloc(n, sizeof(float));  
    if(element==NULL)
    {
        printf(" hata.");
        exit(0);
    }
    printf("\n");
    for(i=0;i<n;++i)  
    {
       printf(" sayi %d: ",i+1);
       scanf("%f",element+i);
    }
    for(i=1;i<n;++i)  
    {
       if(*element<*(element+i)) 
           *element=*(element+i);
    }
    printf(" En buyu sayi :  %.2f \n\n",*element);
    return 0;
}

10.

#include <stdio.h>
int calculateLength(char*);
 
void main() 
{
   char str1[25];
   int l;
   printf("\n\n String'in uzunlugunu hesapla :\n"); 
   printf("---------------------------------------------------\n");
   
   printf(" String giriniz : ");
   fgets(str1, sizeof str1, stdin);
   
   l = calculateLength(str1);
   printf(" Girilen %s stringinin uzunlugu : %d ", str1, l-1);
   printf("\n\n");

}
 
// ch = string'in baslangic adresi ( &str1[0]  ) 
int calculateLength(char* ch) 
{
   int ctr = 0;
   while (*ch != '\0') 
   {
      ctr++;
      ch++;
   }
   return ctr;
}

11.

#include <stdio.h>
void swapNumbers(int *x,int *y,int *z);
int main()
{
    int e1,e2,e3;
	printf("\n\n Call by reference ile swap islemi :\n"); 
	printf("------------------------------------------------------\n");	
    printf(" İlk elemanı giriniz : ");
    scanf("%d",&e1);
	printf(" ikinci elemani girinizelement : ");
    scanf("%d",&e2);
	printf(" Ucuncu elemani giriniz : ");
    scanf("%d",&e3);
	
	
    printf("\n Swap'dan onceki degerler:\n");
    printf(" eleman 1 = %d\n eleman 2 = %d\n eleman 3 = %d\n",e1,e2,e3);
    swapNumbers(&e1,&e2,&e3);
    printf("\n Swap'dan sonraki degerler:\n");
    printf(" eleman 1 = %d\n eleman 2 = %d\n eleman 3 = %d\n\n",e1,e2,e3);
    return 0;
}
void swapNumbers(int *x,int *y,int *z)
{
    int tmp;
    tmp=*y;
    *y=*x;
    *x=*z;
    *z=tmp;
}

12.

#include <stdio.h>
void findFactorial(int,int*);
int main()
{
        int fact;
        int num1;
        printf("\n\n Sayinin fakroriyelini bul :\n"); 
		printf("------------------------------------------------------\n");	
	printf(" Bir sayi giriniz : ");
	scanf("%d",&num1);		 

        findFactorial(num1,&fact);
        printf(" %d sayisinin faktoriyeli : %d \n\n",num1,fact);
        return 0;
}

void findFactorial(int n,int *f)
{
       int i;

       *f =1;
       for(i=1;i<=n;i++)
       *f=*f*i;
}

13.

#include <stdio.h>
int main()
{
    char str1[50];
    char *pt;
    int  ctrV,ctrC;
 	printf("\n\n Sesli ve sessiz harfleri say:\n"); 
	printf("----------------------------------------------------------\n");	    
    printf(" Bir string giriniz: ");
    fgets(str1, sizeof str1, stdin);
     
    //str1'in adresini pt'ye ata
    pt=str1;
     
    ctrV=ctrC=0;
    while(*pt!='\0')
    {
        if(*pt=='A' ||*pt=='E' ||*pt=='I' ||*pt=='O' ||*pt=='U' ||*pt=='a' ||*pt=='e' ||*pt=='i' ||*pt=='o' ||*pt=='u')
            ctrV++;
        else
            ctrC++;
        pt++; //bir sonraki karakteri kontrol etmek icin pointer bir arttiriliyor
    }
     
    printf(" Sesli harfler : %d\n Sessiz harfler : %d\n",ctrV,ctrC-1);        
    return 0;
}

14.

#include <stdio.h>
void main()
{
   int *a,i,j,tmp,n;
 	printf("\n\n Bir arrayi pointer kullanarak sirala:\n"); 
	printf("--------------------------------------------\n");	   
   
   printf(" Eleman sayisini giriniz : ");
   scanf("%d",&n);
   
   printf(" %d tane sayi girinizarray : \n",n);
   for(i=0;i<n;i++)
   {
	  printf(" eleman - %d : ",i+1);
	  scanf("%d",a+i);
   }   
   
   for(i=0;i<n;i++)
   {
    for(j=i+1;j<n;j++)
    {
       if( *(a+i) > *(a+j))
       {
      tmp = *(a+i);
      *(a+i) = *(a+j);
      *(a+j) = tmp;
       }
    }
   }
   
   printf("\n Siralama sonrasi elemanlar: \n");
   
   for(i=0;i<n;i++)
   {
	  printf(" eleman - %d : %d \n",i+1,*(a+i));
   }   
         
	printf("\n");
}

15.

#include <stdio.h>
int* findGreater(int*, int*);
void main()
{
 int numa=0;
 int numb=0;
 int *result;
 printf("\n\n Pointer donen fonksiyon yaz :\n"); 
 printf("--------------------------------------------------\n");
 printf(" ilk sayiyi giriniz : ");
 scanf("%d", &numa);
 printf(" ikinci sayiyi giriniz : ");
 scanf("%d", &numb); 	

 result=findGreater(&numa, &numb);
 printf(" Buyuk olan sayi: %d \n\n",*result);
}

int* findGreater(int *n1, int *n2)
{
 if(*n1 > *n2)
  return n1;
 else
  return n2;
}

16.

#include <stdio.h>
void main() 
{
   int arr1[10];
   int i,n, sum = 0;
   int *pt;
   
 	printf("\n\n Bir arraydeki tum elemanlari topla :\n"); 
	printf("------------------------------------------------\n"); 
	
   printf(" Eleman sayisini giriniz (maksimum 10 lutfen) : ");
   scanf("%d",&n);
   
   printf(" %d adet sayi giriniz : \n",n);
   for(i=0;i<n;i++)
   {
	
	  printf(" eleman - %d : ",i+1);
	  scanf("%d",&arr1[i]);
	  
   } 	

   pt = arr1; // pt arr1'in baslangicinin pointerı
 
   for (i = 0; i < n; i++) {
      sum = sum + *pt;
      pt++;
   }
 
   printf(" Tum arrayin toplami : %d\n\n", sum);
}

17.

#include <stdio.h>
void main() 
{
   int n, i, arr1[15];
   int *pt;
   printf("\n\n Array'in elemanlarini ters sirada yazdir :\n"); 
   printf("----------------------------------------------------------------\n");
	
   printf(" Eleman sayisini giriniz (maksimum 15 lutfen) : ");
   scanf("%d",&n);
   pt = &arr1[0];  // pt arr1'in baslangic adresini gosteriyor 
   printf(" %d adet sayi giriniz : \n",n);
   for(i=0;i<n;i++)
   {
	  printf(" eleman - %d : ",i+1);
	  scanf("%d",pt); 
	  pt++;
	} 	
	
   pt = &arr1[n - 1];

   printf("\n Arrayin tersten siralanmis elemanlari :");

   for (i = n; i > 0; i--) 
   {
      printf("\n eleman - %d : %d  ", i, *pt);
      pt--;
   }
   
printf("\n\n");
}

18.

#include <stdio.h>
struct EmployeeAddress
{
char *ename;
char stname[20];
int pincode;
}
employee={"Ahmet Portakal","Karanfil Caddesi \n",654134},*pt=&employee;

int main()
{
 	printf("\n\n struct pointer kullanimi:\n"); 
	printf("--------------------------------------------------------\n");
	printf(" %s adresi %s \n\n",pt->ename,(*pt).stname);
	return 0;
}

19.

#include <stdio.h>
union employeeAddress
{
char *ename;
char stname[20];
int pincode;
};

int main()
{
 	printf("\n\n union pointer kullanimi :\n"); 
	printf("----------------------------------------\n");
    union employeeAddress employee,*pt;
    employee.ename="Ahmet Agri\0";

    pt=&employee;

    printf(" %s %s\n\n",pt->ename,(*pt).ename);

    return 0;
}

20.

#include <stdio.h>

int main()
{
    char alph[27];
    int x;
    char *ptr;
 	printf("\n\n Alfabeyi yazdir:\n"); 
	printf("----------------------------------------\n");
    ptr = alph;     

    for(x=0;x<26;x++)
    {
        *ptr=x+'A';
        ptr++;
    }
    ptr = alph;

printf(" Harfler : \n");
    for(x=0;x<26;x++)
    {
       printf(" %c ", *ptr);
        ptr++;
    }
    printf("\n\n");
    return(0);
}






Yorum Gönder

0 Yorumlar