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