Computer >> Máy Tính >  >> Lập trình >> lập trình C

Giải thích thời gian biên dịch và khởi tạo thời gian chạy trong lập trình C?

Chúng ta hãy xem xét khái niệm mảng về thời gian biên dịch và khởi tạo thời gian chạy -

Mảng

Mảng là một tập hợp các mục được lưu trữ tại các vị trí bộ nhớ liền kề và các phần tử có thể truy cập bằng cách sử dụng các chỉ mục.

Khởi tạo mảng thời gian biên dịch

Trong khởi tạo thời gian biên dịch, người dùng phải nhập các chi tiết trong chính chương trình.

Khởi tạo thời gian biên dịch giống như khởi tạo biến. Hình thức khởi tạo chung của mảng như sau -

Cú pháp

type name[size] = { list_of_values };
//integer array initialization
int rollnumbers[4]={ 2, 5, 6, 7};
//float array initialization
float area[5]={ 23.4, 6.8, 5.5,7.3,2.4 };
//character array initialization
char name[9]={ 'T', 'u', 't', 'o', 'r', 'i', 'a', 'l', '\0' };

Ví dụ

Sau đây là một chương trình C để hiển thị mảng -

#include<stdio.h>
void main(){
   //Declaring array with compile time initialization//
   int array[5]={1,2,3,4,5};
   //Declaring variables//
   int i;
   //Printing O/p using for loop//
   printf("Displaying array of elements :");
   for(i=0;i<5;i++){
      printf("%d ",array[i]);
   }
}

Đầu ra

Displaying array of elements :1 2 3 4 5

Thời gian chạy Khởi tạo mảng

Sử dụng khởi tạo thời gian chạy, người dùng có thể có cơ hội chấp nhận hoặc nhập các giá trị khác nhau trong các lần chạy chương trình khác nhau.

Nó cũng được sử dụng để khởi tạo mảng lớn hoặc mảng với các giá trị do người dùng chỉ định. Một mảng cũng có thể được khởi tạo trong thời gian chạy bằng hàm scanf ().

Ví dụ

Sau đây là một chương trình C để tính tổng và tích của tất cả các phần tử trong một mảng bằng cách sử dụng biên dịch thời gian chạy -

#include<stdio.h>
void main(){
   //Declaring the array - run time//
   int A[2][3],B[2][3],i,j,sum[i][j],product[i][j];
   //Reading elements into the array's A and B using for loop//
   printf("Enter elements into the array A: \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         printf("A[%d][%d] :",i,j);
         scanf("%d",&A[i][j]);
      }
      printf("\n");
   }
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         printf("B[%d][%d] :",i,j);
         scanf("%d",&B[i][j]);
      }
      printf("\n");
   }
   //Calculating sum and printing output//
   printf("Sum array is : \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         sum[i][j]=A[i][j]+B[i][j];
         printf("%d\t",sum[i][j]);
      }
      printf("\n");
   }
   //Calculating product and printing output//
   printf("Product array is : \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         product[i][j]=A[i][j]*B[i][j];
         printf("%d\t",product[i][j]);
      }
      printf("\n");
   }
}

Đầu ra

Enter elements into the array A:
A[0][0] :A[0][1] :A[0][2] :
A[1][0] :A[1][1] :A[1][2] :
B[0][0] :B[0][1] :B[0][2] :
B[1][0] :B[1][1] :B[1][2] :
Sum array is :
000
000
Product array is :
000
000