C xatolar


ULASHISH

Xatolar

Hatto tajribali C dasturchilari ham xato qiladi. Asosiysi — ularni topish va tuzatishni o‘rganish!

Bu sahifalarda nima noto‘g‘ri ketayotganini va uni qanday tuzatishni tushunishingizga yordam beradigan keng tarqalgan xatolar hamda nosozliklarni tuzatish (debugging) bo‘yicha foydali maslahatlar yoritilgan.


Kompilyatsiya vaqtidagi keng tarqalgan xatolar

Kompilyatsiya vaqtidagi xatolar — dasturingizning kompilyatsiya qilinishiga to‘sqinlik qiladigan xatolar.

1) Nuqtali vergul tushib qolgan:

Misol

#include <stdio.h> int main() {   int x = 5   printf("%d", x);   return 0; }

Natija:

error: expected ',' or ';' before 'printf'
O‘zingiz sinab ko‘ring »

2) E’lon qilinmagan o‘zgaruvchilardan foydalanish:

Misol

#include <stdio.h> int main() {   printf("%d", myVar);   return 0; }

Natija:

error: 'myVar' undeclared
O‘zingiz sinab ko‘ring »

3) Tiplarning mos kelmasligi (masalan, int o‘zgaruvchisiga string qiymatini o‘zlashtirish):

Misol

#include <stdio.h> int main() {   int x = "Hello";   return 0; }

Natija:

error: initialization makes integer from pointer without a cast
O‘zingiz sinab ko‘ring »


Bajarilish vaqtidagi keng tarqalgan xatolar

Bajarilish vaqtidagi xatolar dastur kompilyatsiya qilinsa-da, ishdan chiqqanda yoki kutilmagan tarzda ishlaganda yuz beradi.

1) Nolga bo‘lish:

Misol

#include <stdio.h> int main() {   int x = 10;   int y = 0;   int result = x / y;   printf("%d\\n", result); // not possible   return 0; }

2) Massiv chegarasidan tashqaridagi elementlarga murojaat qilish:

Misol

#include <stdio.h> int main() {   int numbers[3] = {1, 2, 3};   printf("%d\\n", numbers[8]); // element does not exist   return 0; }

3) Bo‘shatilgan xotiradan foydalanish:

Misol

#include <stdio.h> #include <stdlib.h> int main() {   int* ptr = malloc(sizeof(int));   *ptr = 10;   free(ptr);   printf("%d\\n", *ptr); // Undefined behavior - accessing memory that was freed   return 0; }

Xatolarning oldini olish uchun foydali odatlar

  • O‘zgaruvchilaringizni har doim initsializatsiya qiling
  • Ma’noli o‘zgaruvchi nomlaridan foydalaning
  • Kodingizni toza saqlang va tartibli bo‘lishi uchun chekinishlardan (indentation) foydalaning
  • Funksiyalarni qisqa va bitta vazifaga yo‘naltirilgan holda yozing
  • Sikllar yoki shartlar kutilganidek ishlayotganini tekshiring
  • Xato xabarlarini diqqat bilan o‘qing — ular ko‘pincha muammo aynan qayerdaligini ko‘rsatadi

Keyingi bobda kodingizni qanday debug qilishni — C dasturingizdagi xatolarni (bug) qanday topish va tuzatishni o‘rganasiz.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!