3 Şubat 2016 Çarşamba

Gösterici Hataları-3

C Gösterici Hataları-3

Gösterici hataları neler olabilir?
ilk süsülü parantezde ilk değer verilmemiş göstericilerden bahsediliyor.
ikinci süslü parantezde güvenli olmayan sabit değer verilmesi.
üçüncü süsülü parantezde dizi taşmasından kaynaklanan hata.
dördüncü süsülü parantezde karakter dizisi taşması.
beş ve altıncı süsülü parantezlerde string fonksiyonlarında sebep olan hatalı gösterici kullanımı.


/*Karakter dizisinin sonuna nasıl gidilir?
Karakter dizisinin sonuna gitmek için bilindik üç yöntem açıklanıyor.
Boş yazı nasıl oluyor?
Uygulamada karakter dizisi sonuna gitmede üç yöntem.
Sonrasında boş string anlatılıyor.*/

/*Gösterici hataları neler olabilir?
ilk süsülü parantezde ilk değer verilmemiş göstericilerden bahsediliyor.
ikinci süslü parantezde güvenli olmayan sabit değer verilmesi.
üçüncü süsülü parantezde dizi taşmasından kaynaklanan hata.
dördüncü süsülü parantezde karakter dizisi taşması.
beş ve altıncı süsülü parantezlerde string fonksiyonlarında sebep olan hatalı gösterici kullanımı.*/

#include <stdio.h>
#include <stdlib.h>

int main(void) {
            //Gösterici hatalarından bahsedilecek
            //ilk değer verilmemiş gösterciler
            /*{
                        char *name;

                        gets(name);

                        *name = 15;
                        name[0] = 'c';
            }*/
            //güvenli olmayan sabit değer verilmesi
            {
                        int *ptr = 0x12232;

                        *ptr = 15;
            }
            //dizi taşmalarından kaynaklanan hatalar
            {
                        int number[5]; //0,1,2,3,4
                        number[0] = 15;
                        number[5] = 12;
            }
            //karakter dizilerindeki tasma
            {
                        char name[10];

                        printf("bir yazi giriniz:");
                        gets(name);
            }
            //strcpy fonksiyonlarından kaynaklanan
            {
                        char str1[20];
                        char str2[] = "okula gitti sonra geldi";

                        strcpy(str1, str2);
            }
            //strcat
            {
                        char str1[20] = "fikret";
                        char str2[] = "okula gitti sonra geldi";
                        strcat(str1, str2);
            }
            return EXIT_SUCCESS;
}



Hiç yorum yok:

Yorum Gönder