logo

Matriz C

Uma matriz é definida como a coleção de tipos semelhantes de itens de dados armazenados em locais de memória contíguos. Matrizes são o tipo de dados derivado na linguagem de programação C que pode armazenar o tipo primitivo de dados, como int, char, double, float, etc. Ele também tem a capacidade de armazenar a coleção de tipos de dados derivados, como ponteiros, estrutura, etc. O array é a estrutura de dados mais simples onde cada elemento de dados pode ser acessado aleatoriamente usando seu número de índice.

A matriz C é benéfica se você precisar armazenar elementos semelhantes. Por exemplo, se quisermos armazenar as notas de um aluno em 6 disciplinas, então não precisamos definir variáveis ​​diferentes para as notas nas diferentes disciplinas. Em vez disso, podemos definir um array que pode armazenar as marcas de cada assunto em locais de memória contíguos.

Usando o array, podemos acessar os elementos facilmente. Apenas algumas linhas de código são necessárias para acessar os elementos do array.

Propriedades da matriz

A matriz contém as seguintes propriedades.

  • Cada elemento de uma matriz é do mesmo tipo de dados e carrega o mesmo tamanho, ou seja, int = 4 bytes.
  • Os elementos da matriz são armazenados em locais de memória contíguos, onde o primeiro elemento é armazenado no menor local de memória.
  • Os elementos do array podem ser acessados ​​aleatoriamente, pois podemos calcular o endereço de cada elemento do array com o endereço base fornecido e o tamanho do elemento de dados.

Vantagem da matriz C

1) Otimização de código : Menos código para acessar os dados.

2) Facilidade de travessia : Usando o loop for, podemos recuperar facilmente os elementos de um array.

3) Facilidade de classificação : para classificar os elementos do array, precisamos apenas de algumas linhas de código.

4) Acesso Aleatório : Podemos acessar qualquer elemento aleatoriamente usando o array.

Desvantagem da matriz C

1) Tamanho Fixo : Seja qual for o tamanho que definirmos no momento da declaração do array, não podemos ultrapassar o limite. Portanto, ele não aumenta de tamanho dinamicamente como o LinkedList que aprenderemos mais tarde.

Declaração da matriz C

Podemos declarar um array na linguagem c da seguinte maneira.

 data_type array_name[array_size]; 

Agora, vamos ver o exemplo para declarar o array.

 int marks[5]; 

Aqui, int é o tipo de dados , as marcas são nome_da_matriz , e 5 é o tamanho_da_matriz .

Inicialização do array C

A maneira mais simples de inicializar um array é usando o índice de cada elemento. Podemos inicializar cada elemento do array usando o índice. Considere o seguinte exemplo.

como encontrar coisas escondidas no Android
 marks[0]=80;//initialization of array marks[1]=60; marks[2]=70; marks[3]=85; marks[4]=75; 
inicialização de array em linguagem c

Exemplo de matriz C

 #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++){>

Matriz C: Declaração com Inicialização

Podemos inicializar o array c no momento da declaração. Vamos ver o código.

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

Nesse caso, há não há necessidade de definir o tamanho . Portanto, também pode ser escrito como o código a seguir.

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

Vamos ver o programa C para declarar e inicializar o array em 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++){>

Exemplo de array C: classificando um array

No programa a seguir, estamos usando o método bubble sort para classificar o array em ordem crescente.

 #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;>