সমস্যা
সি ল্যাঙ্গুয়েজে, যদি আমরা একটি সূচনাবিহীন অ্যারে ব্যবহার করি তাহলে কি প্রোগ্রামটি কার্যকর করা হয়?
সমাধান
-
আমরা যদি কোনো শুরু না করা অ্যারে ব্যবহার করি, তাহলে কম্পাইলার কোনো কম্পাইলেশন এবং এক্সিকিউশন ত্রুটি তৈরি করবে না।
-
যদি একটি অ্যারে চালু না হয়, তাহলে আপনি অপ্রত্যাশিত ফলাফল পেতে পারেন৷
৷ -
সুতরাং, আমাদের সর্বদা ডিফল্ট মান সহ অ্যারে উপাদানগুলি শুরু করা উচিত৷
উদাহরণ প্রোগ্রাম
একটি সূচনাবিহীন অ্যারে -
অ্যাক্সেস করার জন্য সি প্রোগ্রামটি নিচে দেওয়া হল#include <stdio.h> int main(void){ int a[4]; int b[4] = {1}; int c[4] = {1,2,3,4}; int i; //for loop counter //printing all alements of all arrays printf("\nArray a:\n"); for( i=0; i<4; i++ ) printf("arr[%d]: %d\n",i,a[i]); printf("\nArray b:\n"); for( i=0; i<4; i++) printf("arr[%d]: %d\n",i,b[i]); printf("\nArray c:\n"); for( i=0; i<4; i++ ) printf("arr[%d]: %d\n",i, c[i]); return 0; }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Array a: arr[0]: 4195872 arr[1]: 0 arr[2]: 4195408 arr[3]: 0 Array b: arr[0]: 1 arr[1]: 0 arr[2]: 0 arr[3]: 0 Array c: arr[0]: 1 arr[1]: 2 arr[2]: 3 arr[3]: 4
দ্রষ্টব্য
যদি আমরা একটি অ্যারে আরম্ভ না করে থাকি, ডিফল্টরূপে, এটি আবর্জনার মান প্রিন্ট করে এবং কখনই কোনো ত্রুটি দেখায় না।
একটি সূচনাবিহীন অ্যারে -
অ্যাক্সেস করার জন্য আরেকটি C প্রোগ্রাম বিবেচনা করুনউদাহরণ
#include <stdio.h> int main(void){ int A[4]; int B[4] ; int C[4] = {1,2}; int i; //for loop counter //printing all alements of all arrays printf("\nArray a:\n"); for( i=0; i<4; i++ ) printf("arr[%d]: %d\n",i,A[i]); printf("\nArray b:\n"); for( i=0; i<4; i++) printf("arr[%d]: %d\n",i,B[i]); printf("\nArray c:\n"); for( i=0; i<4; i++ ) printf("arr[%d]: %d\n",i, C[i]); return 0; }
আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Array a: arr[0]: 4195856 arr[1]: 0 arr[2]: 4195408 arr[3]: 0 Array b: arr[0]: -915120393 arr[1]: 32767 arr[2]: 0 arr[3]: 0 Array c: arr[0]: 1 arr[1]: 2 arr[2]: 0 arr[3]: 0