Calificador constante en C

El calificador const se puede aplicar a la declaración de cualquier variable para especificar que su valor no cambiará (que depende de dónde se almacenan las variables const, podemos cambiar el valor de la variable const usando el puntero). El resultado está definido por la implementación si se intenta cambiar una const. 1) Puntero a variable.   … Continue reading «Calificador constante 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++?»

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++»

Suma de array usando aritmética de punteros

Dada una array, escriba un programa para encontrar la suma de la array usando aritmética de punteros. En este programa hacemos uso del operador *. El operador * (asterisco) denota el valor de la variable. El operador * en el momento de la declaración indica que se trata de un puntero; de lo contrario, indica … Continue reading «Suma de array usando aritmética de punteros»

¿Cuándo pasamos argumentos por referencia o puntero?

En C++, las variables se pasan por referencia por las siguientes razones: 1) Para modificar las variables locales de la función que llama: una referencia (o puntero) permite que la función llamada modifique una variable local de la función que llama. Por ejemplo, considere el siguiente programa de ejemplo donde fun() puede modificar la variable … Continue reading «¿Cuándo pasamos argumentos por referencia o puntero?»

Declarar una función C/C++ que devuelve un puntero a una array de punteros enteros

Declare «una función con argumento de int* que devuelve un puntero a una array de 4 punteros enteros». A primera vista puede parecer complejo, podemos declarar la función requerida con una serie de sentencias descompuestas. 1. Necesitamos una función con argumento int * , function(int *) 2. una función con argumento  int * , que … Continue reading «Declarar una función C/C++ que devuelve un puntero a una array de punteros enteros»

¿Qué son los punteros salvajes? ¿Cómo podemos evitar?

Los punteros no inicializados se conocen como punteros salvajes porque apuntan a una ubicación de memoria arbitraria y pueden hacer que un programa se bloquee o se comporte mal. int main() {   int *p;  /* wild pointer */    /* Some unknown memory location is being corrupted.     This should never be done. */    *p = 12;  … Continue reading «¿Qué son los punteros salvajes? ¿Cómo podemos evitar?»

Diferencia entre el puntero colgante y el puntero vacío

Puntero colgante : un puntero que apunta a una ubicación de memoria que se ha eliminado (o liberado) se denomina puntero colgante. Hay tres formas diferentes en las que Pointer actúa como un puntero colgante: Desasignando memoria Llamada de función Cuando la variable sale del alcance Puntero vacío : el puntero vacío es un tipo … Continue reading «Diferencia entre el puntero colgante y el puntero vacío»

¿Se copian profundamente los miembros de la array?

En C/C++, podemos asignar una variable de estructura (o clase solo en C++) a otra variable del mismo tipo. Cuando asignamos una variable de estructura a otra, todos los miembros de la variable se copian a la otra variable de estructura. Pero, ¿qué sucede cuando la estructura contiene un puntero a la memoria asignada dinámicamente … Continue reading «¿Se copian profundamente los miembros de la array?»