解释 C 编程中的编译时和运行时初始化?

cserver side programmingprogramming

让我们将数组的概念带到编译时和运行时初始化 −

数组

数组是存储在连续内存位置的项目集合,元素可以通过索引访问。

编译时数组初始化

在编译时初始化中,用户必须在程序本身中输入详细信息。

编译时初始化与变量初始化相同。数组初始化的一般形式如下 −

语法

type name[size] = { list_of_values };
//整数数组初始化
int rollnumbers[4]={ 2, 5, 6, 7};
//浮点数组初始化
float area[5]={ 23.4, 6.8, 5.5,7.3,2.4 };
//字符数组初始化
char name[9]={ 'T', 'u', 't', 'o', 'r', 'i', 'a', 'l', '\0' };

示例

以下是显示数组的 C 程序 −

#include<stdio.h>
void main(){
   //使用编译时初始化声明数组//
   int array[5]={1,2,3,4,5};
   //声明变量//
   int i;
   //使用 for 循环打印 O/p//
   printf("显示元素数组:");
   for(i=0;i<5;i++){
      printf("%d ",array[i]);
   }
}

输出

显示元素数组:1 2 3 4 5

运行时数组初始化

使用运行时初始化,用户可以在程序的不同运行期间接受或输入不同的值。

它还用于初始化大型数组或具有用户指定值的数组。也可以使用 scanf() 函数在运行时初始化数组。

示例

以下是一个 C 程序,使用运行时编译计算数组中所有元素的总和与乘积 −

#include<stdio.h>
void main(){
   //声明数组 - 运行时//
   int A[2][3],B[2][3],i,j,sum[i][j],product[i][j];
   //使用 for 循环将元素读入数组 A 和 B//
   printf("将元素输入数组 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("
");    }    //计算和并打印输出//    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("
");    }    //计算乘积并打印输出//    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("
");    } }

输出

将元素输入到数组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

相关文章