Ana sayfa > Programlama > C Programlama > C ipuçları > c_ipuc00002

C ipuçları

İşaretçilere karakter dizisi atamanın 3 farklı yöntemi

Aşağıdaki program oluşturduğu 3 char işaretçinin ilkine ilk değer atama yöntemi ile, ikincisine atama işlemcisi ile, üçüncüsüne ise strcpy() fonksiyonu ile birer karakter dizisi atar. Üçüncü işlemde kullanılan strcpy() fonksiyonundan önce malloc() fonksiyonu ile bellek tahsisi yapılarak bellek başlangıç adresi işaretçiye atanmalıdır. Aksi takdirde program çalışma zamanı hatası verir.


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

int main(void)
{
  char *cp1 = "Bilgisayar"; /* İlk değer atama yöntemi ile atama */
  char *cp2;
  char *cp3;

  cp2 = "Donanım"; /* Atama işlemcisi ile atama */

  cp3 = malloc(10); /* Bellek tahsisi */
  strcpy(cp3, "Yazılım"); /* Bu işlem satırının doğru çalışmasını sağlayan malloc() fonksiyonu ile bir bellek adresinin cp3 işaretçisine atanmış olmasıdır. */

  printf("%s %s %s\n", cp1, cp2, cp3);

  free(cp3); /* Bellek boşaltma */

  return 0;
}

Yukarıdaki örnekte, program aşağıdaki satırları ekrana yazar:

Bilgisayar Donanım Yazılım