Puntero vs Array en C – Part 1

La mayoría de las veces, los accesos de puntero y array pueden tratarse como si actuaran de la misma manera, siendo las principales excepciones:  1) el operador sizeof  o sizeof(array) devuelve la cantidad de memoria utilizada por todos los elementos de la array  o sizeof(pointer) solo devuelve la cantidad de memoria utilizada por la propia … Continue reading «Puntero vs Array en C – Part 1»

C | Conceptos básicos del puntero | Pregunta 6

#include<stdio.h> int main() {     int arr[] = {10, 20, 30, 40, 50, 60};     int *ptr1 = arr;     int *ptr2 = arr + 5;     printf(«Number of elements between two pointer are: %d.»,                                  (ptr2 – ptr1));     printf(«Number of bytes between two pointers are: %d»,                                 (char*)ptr2 – (char*) ptr1);     return 0; } Suponga que una variable int toma … Continue reading «C | Conceptos básicos del puntero | Pregunta 6»

Pasar referencia a un puntero en C++

Prerrequisito : Punteros vs Referencias en C++ . Para una comprensión clara, comparemos el uso de «puntero a puntero» VS «Referencia a puntero» en algunos casos. Nota: Está permitido usar «puntero a puntero» tanto en C como en C++, pero podemos usar «Referencia a puntero» solo en C++. Pasar puntero a una función Si se … Continue reading «Pasar referencia a un puntero en C++»

¿Cuántos niveles de punteros podemos tener en C/C++?

Requisito previo: Puntero en C y C++ , Puntero doble (Puntero a puntero) en C Un puntero se utiliza para apuntar a una ubicación de memoria de una variable. Un puntero almacena la dirección de una variable y se puede acceder al valor de una variable eliminando la referencia del puntero. Un puntero generalmente se inicializa … Continue reading «¿Cuántos niveles de punteros podemos tener en C/C++?»

La longitud de una string usando punteros

Escriba un programa para encontrar la longitud de una string usando punteros. Ejemplos: Input : given_string = «geeksforgeeks» Output : length of the string = 13 Input : given_string = «coding» Output : length of the string = 6 Requisito previo: Puntero en C Enfoque utilizado: en este programa utilizamos el operador *. El operador … Continue reading «La longitud de una string usando punteros»

Implementación genérica del algoritmo QuickSort en C

Escriba una función para implementar un algoritmo de clasificación rápida que funcione para todos los tipos de datos, es decir, enteros, flotantes, caracteres, etc. Debería aceptar todos los tipos de datos y mostrar los datos ordenados como salida. Nota: Esta función es similar a la función qsort() de la biblioteca estándar de C. Ejemplos: First … Continue reading «Implementación genérica del algoritmo QuickSort en C»

¿Cómo encontrar un error de segmentación en C y C++? (Usando GDB)

¿Qué es el error de segmentación ? – Es el error de tiempo de ejecución causado por la violación de acceso a la memoria. Por ejemplo: -Stackoverflow, lectura de violación, etc. A menudo nos enfrentamos a este problema cuando trabajamos con punteros en c++/c. En este ejemplo veremos cómo encontrar el error de segmentación en … Continue reading «¿Cómo encontrar un error de segmentación en C y C++? (Usando GDB)»

Características y uso de punteros en C/C++

Los punteros almacenan la dirección de las variables o una ubicación de memoria. Sintaxis: datatype *var_name; Ejemplo: el puntero «ptr» contiene la dirección de una variable entera o contiene la dirección de la memoria a cuyos valores se puede acceder como valores enteros a través de «ptr» int *ptr; Características de los punteros: Los punteros … Continue reading «Características y uso de punteros en C/C++»

Programa para encontrar el elemento más grande en una array usando la asignación de memoria dinámica

Dada una array arr[] que consta de N enteros, la tarea es encontrar el elemento más grande en la array dada utilizando la asignación dinámica de memoria . Ejemplos: Entrada: arr[] = {4, 5, 6, 7}  Salida: 7 Explicación: El elemento más grande presente en la array dada es 7. Entrada: arr[] = {8, 9, … Continue reading «Programa para encontrar el elemento más grande en una array usando la asignación de memoria dinámica»

C | Conceptos básicos del puntero | Pregunta 7

#include<stdio.h>  int main()  {     int a;     char *x;     x = (char *) &a;     a = 512;     x[0] = 1;     x[1] = 2;     printf(«%d\n»,a);       return 0;  } ¿Cuál es el resultado del programa anterior? (A) Dependiente de la máquina (B) 513 (C) 258 (D) Error del compilador Respuesta: (A) Explicación: La salida es 513 en una … Continue reading «C | Conceptos básicos del puntero | Pregunta 7»