解釋在 C 程式設計中的編譯時和執行時初始化?
讓我們用編譯時和執行時初始化的概念來了解陣列——
陣列
陣列是由儲存在連續記憶體中的專案組成的集合,並且可以透過使用索引訪問元素。
編譯時陣列初始化
在編譯時初始化中,使用者必須在程式本身中輸入詳細資訊。
編譯時初始化與變數初始化相同。陣列初始化的一般形式如下——
語法
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' };
示例
以下是一個 C 程式,用於顯示陣列——
#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]); } }
輸出
Displaying array of elements :1 2 3 4 5
執行時陣列初始化
使用執行時初始化,使用者可以在程式的不同執行中接受或輸入不同的值。
它還用於初始化大型陣列或具有使用者指定值的陣列。還可以使用 scanf() 函式在執行時初始化陣列。
示例
以下是一個 C 程式,用於使用執行時編譯計算陣列中所有元素的總和和乘積——
#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:
"); for(i=0;i<2;i++){ for(j=0;j<3;j++){ printf("A[%d][%d] :",i,j); scanf("%d",&A[i][j]); } printf("
"); } for(i=0;i<2;i++){ for(j=0;j<3;j++){ printf("B[%d][%d] :",i,j); scanf("%d",&B[i][j]); } printf("
"); } //Calculating sum and printing output// printf("Sum array is :
"); 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("
"); } //Calculating product and printing output// printf("Product array is :
"); 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("
"); } }
輸出
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
廣告