সি একটি ফ্রি-ফর্মের ভাষা। এর অর্থ আপনি এটিকে অনেক উপায়ে ফর্ম্যাট করতে পারেন এবং এটি এখনও আইনী প্রোগ্রাম হবে।
যেমন একটি বিবৃতি
a = b * c;
যেমন লেখা যেতে পারে
a=b*c;
বা পছন্দ
a
=
b
*
c
;
তাই সংকলক যখন লাইনগুলি দেখুন
temp = *a
*a = *b;
এটি এর অর্থ মনে করে
temp = *a * a = *b;
এটি অবশ্যই একটি বৈধ এক্সপ্রেশন নয় এবং সংকলকটি অনুপস্থিত সেমিকোলনের পরিবর্তে অভিযোগ করবে। এটি বৈধ না হওয়ার কারণ হ'ল কারণ a
এটি একটি কাঠামোর পয়েন্টার, সুতরাং *a * a
একটি কাঠামোর উদাহরণ ( *a
) এর সাথে একটি কাঠামোর ( a
) বিন্দু দিয়ে গুণ করার চেষ্টা করা হচ্ছে ।
সংকলকটি অনুপস্থিত অর্ধপরিচয় সনাক্ত করতে পারে না, তবে এটি ভুল লাইনে সম্পূর্ণ সম্পর্কযুক্ত ত্রুটিও জানায় reports এটি লক্ষ্য করা গুরুত্বপূর্ণ কারণ আপনি যেখানে ত্রুটিটি রিপোর্ট করেছেন তার রেখাটি যতই তাকাবেন না কেন, সেখানে কোনও ত্রুটি নেই। কখনও কখনও এর মতো সমস্যাগুলির জন্য আপনার পূর্ববর্তী লাইনের দিকে নজর দেওয়া দরকার যেগুলি ঠিক আছে এবং ত্রুটি ছাড়াই।
কখনও কখনও ত্রুটিটি খুঁজে পেতে আপনাকে অন্য কোনও ফাইলও সন্ধান করতে হয়। উদাহরণস্বরূপ, যদি একটি শিরোলেখ ফাইলটি কোনও কাঠামো নির্ধারণ করে তবে এটি শিরোনামের ফাইলে সর্বশেষ করে এবং সেমিকোলনটি কাঠামোটি সমাপ্ত করে অনুপস্থিত থাকে, তবে ত্রুটি শিরোলেখ ফাইলটিতে নয় তবে সেই ফাইলটিতে থাকবে যা শিরোলেখ ফাইলটি অন্তর্ভুক্ত করে।
এবং কখনও কখনও এটি আরও খারাপ হয়ে যায়: আপনি যদি দুটি (বা আরও) শিরোনাম ফাইল অন্তর্ভুক্ত করেন এবং প্রথমটিতে একটি অসম্পূর্ণ ঘোষণা থাকে তবে সম্ভবত বাক্য বাক্সটি দ্বিতীয় শিরোলেখ ফাইলটিতে নির্দেশিত হবে।
এর সাথে সম্পর্কিত হ'ল ফলো-আপ ত্রুটিগুলির ধারণা । কিছু ত্রুটি, সাধারণত সেমিকোলনগুলি হারিয়ে যাওয়ার কারণে একাধিক ত্রুটি হিসাবে রিপোর্ট করা হয় । এই কারণেই ত্রুটিগুলি ঠিক করার সময় উপরে থেকে শুরু করা গুরুত্বপূর্ণ, কারণ প্রথম ত্রুটিটি ঠিক করা একাধিক ত্রুটিগুলি অদৃশ্য হয়ে যেতে পারে।
অবশ্যই এটি একবারে একটি ত্রুটি ঠিক করতে এবং ঘন ঘন recompiles হতে পারে যা বড় প্রকল্পগুলির সাথে জটিল হতে পারে। এই ধরণের ফলো-আপ ত্রুটিগুলি সনাক্তকরণ এমন কিছু যা অভিজ্ঞতার সাথে আসে এবং কয়েকবার এগুলি দেখার পরে আসল ত্রুটিগুলি খুঁজে বের করা এবং পুনরায় কম্পাইল করার জন্য একাধিক ত্রুটি সমাধান করা সহজ।