logo

C Array

Et array er defineret som samlingen af ​​lignende type dataelementer, der er gemt på sammenhængende hukommelsesplaceringer. Arrays er den afledte datatype i C programmeringssprog, som kan gemme den primitive type data såsom int, char, double, float osv. Den har også mulighed for at gemme samlingen af ​​afledte datatyper, såsom pointere, struktur, osv. Arrayet er den enkleste datastruktur, hvor hvert dataelement kan tilgås tilfældigt ved at bruge dets indeksnummer.

C-array er en fordel, hvis du skal gemme lignende elementer. For eksempel, hvis vi ønsker at gemme karaktererne for en elev i 6 fag, så behøver vi ikke at definere forskellige variabler for karaktererne i det forskellige fag. I stedet for det kan vi definere et array, som kan gemme mærkerne i hvert emne på de sammenhængende hukommelsesplaceringer.

Ved at bruge arrayet kan vi nemt få adgang til elementerne. Kun et par linjer kode er nødvendige for at få adgang til elementerne i arrayet.

Egenskaber for Array

Arrayet indeholder følgende egenskaber.

  • Hvert element i et array er af samme datatype og har samme størrelse, dvs. int = 4 bytes.
  • Elementer i arrayet er lagret på sammenhængende hukommelsesplaceringer, hvor det første element er lagret på den mindste hukommelsesplacering.
  • Elementer i arrayet kan tilgås tilfældigt, da vi kan beregne adressen på hvert element i arrayet med den givne basisadresse og størrelsen af ​​dataelementet.

Fordel ved C Array

1) Kodeoptimering : Mindre kode for at få adgang til dataene.

2) Nem at krydse : Ved at bruge for-løkken kan vi nemt hente elementerne i et array.

3) Nem sortering : For at sortere elementerne i arrayet behøver vi kun et par linjer kode.

4) Random Access : Vi kan få adgang til ethvert element tilfældigt ved hjælp af arrayet.

Ulempen ved C Array

1) Fast størrelse : Uanset størrelsen, vi definerer på tidspunktet for deklarationen af ​​arrayet, kan vi ikke overskride grænsen. Så det vokser ikke størrelsen dynamisk ligesom LinkedList, som vi vil lære senere.

Erklæring af C Array

Vi kan erklære en matrix i c-sproget på følgende måde.

 data_type array_name[array_size]; 

Lad os nu se eksemplet for at erklære arrayet.

 int marks[5]; 

Her er int datatype , mærker er matrix_navn , og 5 er array_size .

Initialisering af C Array

Den enkleste måde at initialisere et array på er ved at bruge indekset for hvert element. Vi kan initialisere hvert element i arrayet ved at bruge indekset. Overvej følgende eksempel.

kamelhylster python
 marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75; 
initialisering af array i c-sprog

C-array eksempel

 #include int main(){ int i=0; int marks[5];//declaration of array marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75; //traversal of array for(i=0;i<5;i++){ printf('%d 
',marks[i]); } end of for loop return 0; < pre> <p> <strong>Output</strong> </p> <pre> 80 60 70 85 75 </pre> <h2>C Array: Declaration with Initialization</h2> <p>We can initialize the c array at the time of declaration. Let&apos;s see the code.</p> <pre> int marks[5]={20,30,40,50,60}; </pre> <p>In such case, there is <strong>no requirement to define the size</strong> . So it may also be written as the following code.</p> <pre> int marks[]={20,30,40,50,60}; </pre> <p>Let&apos;s see the C program to declare and initialize the array in C.</p> <pre> #include int main(){ int i=0; int marks[5]={20,30,40,50,60};//declaration and initialization of array //traversal of array for(i=0;i<5;i++){ printf('%d 
',marks[i]); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> 20 30 40 50 60 </pre> <h2>C Array Example: Sorting an array</h2> <p>In the following program, we are using bubble sort method to sort the array in ascending order.</p> <pre> #include void main () { int i, j,temp; int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23}; for(i = 0; i<10; i++) { for(j="i+1;" j a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } printf('printing sorted element list ...
'); for(i="0;" i<10; printf('%d
',a[i]); < pre> <h2>Program to print the largest and second largest element of the array.</h2> <pre> #include void main () { int arr[100],i,n,largest,sec_largest; printf(&apos;Enter the size of the array?&apos;); scanf(&apos;%d&apos;,&amp;n); printf(&apos;Enter the elements of the array?&apos;); for(i = 0; i<n; i++) { scanf('%d',&arr[i]); } largest="arr[0];" sec_largest="arr[1];" for(i="0;ilargest)" else if (arr[i]>sec_largest &amp;&amp; arr[i]!=largest) { sec_largest=arr[i]; } } printf(&apos;largest = %d, second largest = %d&apos;,largest,sec_largest); } </n;></pre> <hr></10;></pre></5;i++){></pre></5;i++){>

C Array: Erklæring med initialisering

Vi kan initialisere c-arrayet på tidspunktet for erklæringen. Lad os se koden.

 int marks[5]={20,30,40,50,60}; 

I et sådant tilfælde er der ingen krav om at definere størrelsen . Så det kan også skrives som følgende kode.

 int marks[]={20,30,40,50,60}; 

Lad os se C-programmet til at erklære og initialisere arrayet i C.

 #include int main(){ int i=0; int marks[5]={20,30,40,50,60};//declaration and initialization of array //traversal of array for(i=0;i<5;i++){ printf(\'%d 
\',marks[i]); } return 0; < pre> <p> <strong>Output</strong> </p> <pre> 20 30 40 50 60 </pre> <h2>C Array Example: Sorting an array</h2> <p>In the following program, we are using bubble sort method to sort the array in ascending order.</p> <pre> #include void main () { int i, j,temp; int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23}; for(i = 0; i<10; i++) { for(j="i+1;" j a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } printf(\'printing sorted element list ...
\'); for(i="0;" i<10; printf(\'%d
\',a[i]); < pre> <h2>Program to print the largest and second largest element of the array.</h2> <pre> #include void main () { int arr[100],i,n,largest,sec_largest; printf(&apos;Enter the size of the array?&apos;); scanf(&apos;%d&apos;,&amp;n); printf(&apos;Enter the elements of the array?&apos;); for(i = 0; i<n; i++) { scanf(\'%d\',&arr[i]); } largest="arr[0];" sec_largest="arr[1];" for(i="0;ilargest)" else if (arr[i]>sec_largest &amp;&amp; arr[i]!=largest) { sec_largest=arr[i]; } } printf(&apos;largest = %d, second largest = %d&apos;,largest,sec_largest); } </n;></pre> <hr></10;></pre></5;i++){>

C Array Eksempel: Sortering af et array

I det følgende program bruger vi boblesorteringsmetoden til at sortere arrayet i stigende rækkefølge.

 #include void main () { int i, j,temp; int a[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23}; for(i = 0; i<10; i++) { for(j="i+1;" j a[i]) temp="a[i];" a[i]="a[j];" a[j]="temp;" } printf(\'printing sorted element list ...
\'); for(i="0;" i<10; printf(\'%d
\',a[i]); < pre> <h2>Program to print the largest and second largest element of the array.</h2> <pre> #include void main () { int arr[100],i,n,largest,sec_largest; printf(&apos;Enter the size of the array?&apos;); scanf(&apos;%d&apos;,&amp;n); printf(&apos;Enter the elements of the array?&apos;); for(i = 0; i<n; i++) { scanf(\'%d\',&arr[i]); } largest="arr[0];" sec_largest="arr[1];" for(i="0;ilargest)" else if (arr[i]>sec_largest &amp;&amp; arr[i]!=largest) { sec_largest=arr[i]; } } printf(&apos;largest = %d, second largest = %d&apos;,largest,sec_largest); } </n;></pre> <hr></10;>