“Conocimientos Programación>C /C + + Programming

¿Qué es un puntero en C

2015/1/28
? Una de las características que hacen de C un lenguaje de programación potente es la capacidad de los programadores para acceder a la memoria directamente utilizando punteros . Los punteros se utilizan ampliamente en C para el manejo de matrices de datos , la manipulación de cadenas de caracteres , pasar parámetros a funciones y la creación de listas enlazadas y otras estructuras de datos complejas . Los punteros son una de las mayores fuentes de confusión para programadores nuevos en el lenguaje C . La comprensión y el uso de punteros es fundamental para una programación eficaz C .
puntero Puntero : Tenga cuidado de limpiar!
Función

Un puntero de objeto , o simplemente puntero es una variable que contiene una dirección de memoria donde un objeto , como una estructura o float, o un conjunto de objetos , es almacenado . Con esa dirección de memoria , el programador puede leer, modificar y mover a través de la memoria con un puntero.

Beneficios

funciones que toman un puntero a una externa objeto que se pasa como parámetro puede modificar ese objeto. Cuando sale de la función , el nuevo valor asignado a ese objeto persistirá . Una función puede tener varios punteros , lo que permite una sola función para modificar varios objetos con una sola llamada de función.

Un puntero se puede utilizar para navegar a través de una serie de elementos de forma sistemática o aleatoria usando la notación de array, iteración o matemáticas básicas . Utilizando indicadores de acceso a una matriz es más rápido que las más complejas implementaciones de funciones similares se encuentran en otros idiomas. Si bien estas implementaciones suelen ser más fáciles de usar y evitar errores , hay una sobrecarga adicional que afecta el rendimiento.
Importancia

La capacidad de asignar dinámicamente cantidades arbitrarias de memoria heap durante tiempo de ejecución es una técnica llamada " asignación dinámica de memoria . " Muchos lenguajes anteriores, como Fortran , requiere la cantidad de memoria asignada a estructuras tales como las matrices que se establezcan en tiempo de compilación , y la cantidad de memoria asignada no pueden ser cambiados durante la ejecución del programa. Los punteros se utilizan en C para mantener la dirección de memoria asignada dinámicamente.
Uso

Un puntero se declara mediante la colocación de una estrella (* ) entre el nombre del tipo y de la nombre de la variable .

el valor de un objeto en la memoria en la dirección en poder del puntero se accede por " eliminación de referencias " del puntero. . Desreferenciación un puntero se hace poniendo una estrella ( *) antes del nombre del puntero

Al manipular punteros a estructuras , un miembro de la estructura se hace referencia mediante el uso de una flecha (- > ) entre el nombre del indicador y el nombre del miembro .

la dirección de un objeto que se puede acceder mediante la colocación de un signo (& ) antes del nombre de la variable del objeto. Al pasar la dirección de un objeto a una función se llama "pasar por referencia. " El parámetro se declara como puntero en el prototipo de la función . Los desreferencias función del parámetro para modificar su valor, y el valor se mantendrán cuando la función termina .

Matrices se crean mediante la asignación de la cantidad de memoria requerida para guardar el número deseado de objetos de un tipo determinado. Esto se lleva a cabo durante o después de la declaración con la notación puntero y malloc o calloc , o durante la declaración, utilizando la notación de matriz . Los elementos de un array se puede acceder usando la notación de referencia del índice o iterando el puntero array. Iteración aumenta o disminuye la alocución del tamaño de un elemento individual de forma automática por lo que el puntero se posiciona correctamente en el inicio del elemento anterior o siguiente. OsCommerce Advertencia

memoria asignación y cancelación de asignación se gestiona por el programador. Memoria que se ha asignado debe desasignar cuando ya no se necesita . El no poder desasignar memoria evita que sea utilizado hasta que se cierra la aplicación . Una " pérdida de memoria " se produce cuando una referencia a la memoria asignada se pierde sin liberar la memoria primero . Las pérdidas de memoria pueden ocurrir cuando un puntero se reasigna o una función termina sin delegar la propiedad de la memoria asignada .

Acceso a la memoria más allá del final de la memoria asignada es un error común cuando se trabaja con matrices. Este error se llama tener un " índice de la matriz fuera de límites. " Esto puede causar que la aplicación se comporte correctamente o cierre inesperadamente .

C /C + + Programming
Cómo Fundido en C desde objetos de fecha y hora
Cómo manipular listado Ver en MFC
Cómo convertir XML a Enum
Cómo inicializar variables en C
Cómo hacer referencia a propiedades de otro proyecto en C
Cómo convertir de String a Char en C + +
Cómo utilizar C + + Especialización plantilla Class
Definir una matriz multi-dimensional en C + +
Conocimientos Informáticos © http://www.ordenador.online