ARREGLOS UNIDIMENSIONALES
Los arreglos unidimensionales (o vectores) almacenan datos de forma secuencial, mientras que los arreglos bidimensionales (o matrices) organizan datos en filas y columnas. En C, se declaran usando la sintaxis tipo_dato nombre_arreglo[tamaño]
para unidimensionales y tipo_dato nombre_arreglo[filas][columnas]
para bidimensionales
- Definición
- Un arreglo unidimensional es una estructura de datos que almacena elementos del mismo tipo en posiciones consecutivas de memoria. Cada elemento se puede acceder usando un índice único.
Declaración en C
int numeros[5]; // Arreglo de enteros con 5 elementos
float precios[10]; // Arreglo de floats con 10 elementos
char letras[26]; // Arreglo de caracteres con 26 elementos
Ejemplo de uso:
Almacenar las notas de un alumno en un arreglo de floats y calcular la media.
#include <stdio.h> #include <math.h> int main() { float notas[4] = {8.5, 7.2, 9.1, 6.8}; float suma = 0; for (int i = 0; i < 4; i++) { suma += notas[i]; } float media = suma / 4; printf("La media de las notas es: %.2f\n", media); return 0; }
MATRICES
Un arreglo bidimensional es una estructura de datos que almacena elementos del mismo tipo en una tabla de filas y columnas. Para acceder a un elemento, se necesitan dos índices: uno para la fila y otro para la columna.
int tabla[3][4]; // Arreglo de enteros con 3 filas y 4 columnas float matriz[5][5]; // Arreglo de floats con 5 filas y 5 columnas char imagen[100][100]; // Arreglo de caracteres (puedes usar esto para representar una imagen)
EJEMPLO DE USO
#include <stdio.h> int main() { int calificaciones[3][2] = {{8, 9}, {7, 8}, {9, 10}}; int fila, columna; for (fila = 0; fila < 3; fila++) { for (columna = 0; columna < 2; columna++) { printf("La calificación en la fila %d, columna %d es: %d\n", fila + 1, columna + 1, calificaciones[fila][columna]); } } return 0; }
El ciclo WHILE
en programación se utiliza para ejecutar un bloque de código repetidamente mientras una condición específica sea verdadera. En esencia, el bucle se ejecuta hasta que la condición de parada se vuelve falsa.
int contador = 1;while (contador <= 5) { System.out.println(contador); // Imprime el valor de contador contador++; // Incrementa contador}
}
}
En C los apuntadores son variables que almacenan la dirección de memoria de otra variable. En lugar de almacenar el valor directamente, un apuntador contiene la ubicación en memoria donde ese valor se guarda.
Declaración y asignación de un apuntador
int numero = 10; // Variable que almacena el valor 10 int *apuntador; // Apuntador que almacenará la dirección de 'numero' apuntador = № // Se asigna la dirección de 'numero' al apuntador
Desreferenciación de un apuntador
int numero = 10; int *apuntador = № printf("Valor de numero: %d\n", numero); // Imprime 10 (valor directo) printf("Valor de apuntador: %p\n", apuntador); // Imprime la dirección de 'numero' printf("Valor al que apunta apuntador: %d\n", *apuntador); // Imprime 10 (desreferenciación, valor de la dirección)
Uso de apuntadores en funciones
#include <stdio.h> void modificar_valor(int *ptr, int nuevo_valor) { *ptr = nuevo_valor; // Modifica el valor de la variable apuntada } int main() { int numero = 5; printf("Valor antes de la modificación: %d\n", numero); // Imprime 5 modificar_valor(&numero, 20); printf("Valor después de la modificación: %d\n", numero); // Imprime 20 return 0; }
En este último ejemplo, la función modificar_valor
recibe un apuntador a un entero (int *ptr
). Modificando el valor al que apunta este apuntador (*ptr
), se modifica el valor de la variable original (numero
), aunque la función no recibe una copia de la variable, sino la dirección donde esta se guarda
Comentarios
Publicar un comentario