কম্পিউটার টিউটোরিয়াল

সি ভাষায় অনির্সিয়ালাইজড অ্যারে অ্যাক্সেসের ধারণা


সমস্যা

সি ভাষায়, যদি আমরা অনির্সিয়ালাইজড অ্যারে ব্যবহার করি, তবে কী প্রোগ্রাম এক্সিকিউট হবে?

সমাধান

  • যদি আমরা যেকোনো অনির্সিয়ালাইজড অ্যারে ব্যবহার করি, কম্পাইলার কোনো কম্পাইলেশন বা এক্সিকিউশন এরর জেনারেট করবে না।

  • যদি একটি অ্যারে অনির্সিয়ালাইজড থাকে, তবে আপনি অপ্রত্যাশিত ফলাফল পেতে পারেন।

  • তাই, আমাদের সবসময় অ্যারে এলিমেন্টগুলো ডিফল্ট ভ্যালু দিয়ে ইনিশিয়ালাইজ করা উচিত।

উদাহরণ প্রোগ্রাম

নিচে অনির্সিয়ালাইজড অ্যারে অ্যাক্সেসের একটি সি প্রোগ্রাম দেওয়া হলো −

#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

নোট

যদি আমরা অ্যারে ইনিশিয়ালাইজ না করি, ডিফল্টভাবে এটি গার্বেজ ভ্যালু প্রিন্ট করে এবং কখনো এরর দেখায় না।

অনির্সিয়ালাইজড অ্যারে অ্যাক্সেসের আরেকটি সি প্রোগ্রাম বিবেচনা করুন −

উদাহরণ

#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

  1. C ভাষায় লিংকড লিস্টের ধারণা ব্যাখ্যা

  2. সি ভাষায় অ্যারে অফ পয়েন্টার এবং পয়েন্টার টু পয়েন্টার

  3. C ভাষায় ক্যারেক্টার অপারেশন ব্যাখ্যা

  4. সি ভাষায় পয়েন্টার অ্যাক্সেসিং ধারণা ব্যাখ্যা