C NULL


ULASHISH

C NULL

NULL — "null ko‘rsatkich"ni, ya’ni hech narsaga ishora qilmaydigan ko‘rsatkichni ifodalovchi maxsus qiymat.

U bo‘sh yoki yaroqsiz ko‘rsatkichlardan foydalanishning oldini olishga yordam beradi. Ko‘rsatkichdan foydalanish xavfsiz ekanligini tekshirish uchun uni NULL bilan solishtirishingiz mumkin.

Ko‘plab C funksiyalari biror narsa noto‘g‘ri ketganda NULL qaytaradi. Masalan, fayl ochilmasa fopen() NULL qaytaradi, xotira ajratish muvaffaqiyatsiz bo‘lsa, malloc() NULL qaytaradi. Buni if operatori yordamida tekshirib, biror narsa noto‘g‘ri ketsa, xato xabarini chiqarishimiz mumkin.

Bu misolda mavjud bo‘lmagan faylni ochishga harakat qilamiz. fopen() muvaffaqiyatsiz tugagani uchun u NULL qaytaradi va biz xato haqida xabar chiqaramiz:

Misol

#include <stdio.h>

int main() {
  FILE *fptr = fopen("nothing.txt", "r");

  if (fptr == NULL) {
    printf("Could not open file.\n");
    return 1;
  }

  fclose(fptr);
  return 0;
}

O‘zingiz sinab ko‘ring »

Agar juda ko‘p xotira ajratishga harakat qilsangiz, malloc() muvaffaqiyatsiz tugashi va NULL qaytarishi mumkin:

Misol

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

int main() {
  int *numbers = (int*) malloc(100000000000000 * sizeof(int));

  if (numbers == NULL) {
    printf("Memory allocation failed.\n");
    return 1;
  }

  printf("Memory allocation successful!\n");

  free(numbers);
  numbers = NULL;

  return 0;
}

O‘zingiz sinab ko‘ring »



Xulosa

  • NULL null (bo‘sh) ko‘rsatkichni ifodalaydi
  • U ko‘rsatkich hech qayerga ishora qilmayotganini bildiradi
  • Ko‘rsatkichdan foydalanish xavfsiz ekanligini tekshirish uchun uni NULL bilan solishtirishingiz mumkin
  • malloc() va fopen() kabi funksiyalar muvaffaqiyatsiz tugasa, NULL qaytaradi

Maslahat: Ko‘rsatkichdan foydalanishdan oldin har doim uning NULL emasligini tekshiring. Bu yaroqsiz xotiraga murojaat qilish sababli dasturning ishdan chiqishining oldini olishga yordam beradi.


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!