C puntero a una matriz

Aquí, vamos a aprender cómo declarar, inicializar y el puntero de asignación a una matriz?

Todos somos conscientes de matriz “array es el grupo de tipo similar de valores”, por ejemplo, si hay 5 valores enteros, podemos almacenarlos en una matriz de enteros.

puntero a una matriz es el puntero de variable de matriz.

Declaración de puntero a la matriz

    data_type *pointer_variable;

inicialización del puntero al array

    pointer_variable=&array_variable[0];
OR
pointer_variable=array_variable;

vamos a considerar la declaración y la inicialización del puntero al array de enteros

1) Declarar matriz entera con el número de elementos

    int arr[5];

2) puntero Declarar número entero de señalar la matriz

    int *ptr;

3) Inicializar puntero con la dirección base de la matriz

    ptr= &arr[0];
OR
pt= arr;

4) inicialización con la declaración de puntero

    int *ptr= &arr[0];
OR
int *ptr= arr;

vamos a considerar el programa para leer e imprimir los elementos de la matriz de enteros utilizando puntero entero (puntero al array)

#include <stdio.h>
int main()
{
int arr[5];
int *ptr=&arr[0];
int i;
printf("Enter array elements:n");
for(i=0; i<5; i++)
{
printf("Enter element [%d]: ",i+1);
scanf("%d",(ptr+i));
}
printf("Array elements are:n");
for(i=0; i<5; i++)
{
printf("Element [%d]: %dn",i+1, *(ptr+i));
}
return 0;
}

salida

    Enter array elements: 
Enter element [1]: 100
Enter element [2]: 200
Enter element [3]: 300
Enter element [4]: 400
Enter element [5]: 500
Array elements are:
Element [1]: 100
Element [2]: 200
Element [3]: 300
Element [4]: 400
Element [5]: 500

dinámico matriz de inicialización utilizando malloc ()

sintaxis

data_type *pointer_variable = (data_type*) malloc (N * sizeof(data_type));

Aquí, N es el número de elementos

Ejemplo

int *ptr = (int*) malloc(5*sizeof(int));

programa C para leer e imprimir los elementos de la matriz donde el número de elementos debe ser entrar en tiempo de ejecución

#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n;
int *ptr;
printf("Enter total number of elements: ");
scanf("%d",&n);
//pointer initialization
ptr=(int*)malloc(n*sizeof(int));
printf("Enter array elements:n");
for(i=0; i<n; i++)
{
printf("Enter element [%d]: ",i+1);
scanf("%d",(ptr+i));
}
printf("Array elements are:n");
for(i=0; i<n; i++)
{
printf("Element [%d]: %dn",i+1, *(ptr+i));
}
return 0;
}

salida

    Enter total number of elements: 5 
Enter array elements:
Enter element [1]: 100
Enter element [2]: 200
Enter element [3]: 300
Enter element [4]: 400
Enter element [5]: 500
Array elements are:
Element [1]: 100
Element [2]: 200
Element [3]: 300
Element [4]: 400
Element [5]: 500


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *