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

Cómo escribir una línea de inversión de la función Utilizar punteros en C + +

2012/12/20
The C + + lenguaje de programación , con sus punteros y operadores de asignación de memoria , a menudo asusta a los programadores experimentados. Para los nuevos alumnos , estos conceptos parecen incomprensibles. Lenguajes como Java y C # esconden estos detalles para que la mayoría de los desarrolladores no tienen que entender. A pesar de ello , en el contexto adecuado , las características de bajo nivel de C + + ofrece potencia y flexibilidad que no se encuentra en lenguajes de alto nivel . Usted puede tener una idea de la potencia de C + + punteros mediante la creación de un texto simple inversión de la función Cosas que necesitará
Microsoft Visual Studio , C + + Builder o cualquier otro compilador C + +
Mostrar más instrucciones

1

Crear un nuevo proyecto o espacio de trabajo utilizando el C + + lenguaje de su preferencia en Microsoft Visual Studio 2010 . Abra Visual Studio , haga clic en "Archivo" y luego " Nuevo proyecto ". Cuando aparezca el cuadro de diálogo nuevo proyecto, elija C + + , Win32 y Aplicación de consola Win32. Dar el nombre de " Reversión ", luego haga clic en " Siguiente" y " Aceptar " hasta que aparezca el archivo de origen
2

Añadir " incluye " declaraciones en la parte superior del archivo de la siguiente manera : .

# include

# include
3

declarar la función inversa de la siguiente manera :
< p > void inversa ( char * txt, char * newTxt ) {

Esta función lee la cadena de caracteres a partir de la dirección de memoria almacenada en "txt " y luego lo copia en el orden inverso a la memoria a la que apunta " newTxt . " La función asume que hay suficiente memoria se ha asignado a la nueva cadena
4

Crear un puntero de caracteres "c" de la siguiente manera : .

Char * c = txt + strlen (txt ) ;

El puntero de caracteres "* c " no es más que un lugar para almacenar una dirección de memoria . Inicializarlo mediante la recuperación de la dirección de "txt ", a continuación, añadir la longitud de la cadena de texto
5

Copia el texto con el siguiente bucle "while" : .

While ( c > txt ) {

c - ;

newTxt * = * c ;

newTxt + + ; }


Mueva el " c " puntero retroceder un carácter ( se inicializa un carácter más allá del final de la cadena de texto ) . Una vez que tenga el último carácter , copiarlo en el primer carácter de la nueva cadena como la que apunta " newTxt . " Avanzar en la " newTxt " puntero hacia adelante un carácter . La segunda vez , copie el siguiente-a- la - último carácter de la cadena " txt " para el segundo carácter de la cadena " newTxt " . Esto continúa hasta llegar de nuevo al principio
6

Añadir un cero al final de la cadena " newTxt " y terminar la función

* newTxt = 0 , . .
< p >}

En C + +, todas las cadenas de texto termina con un cero binario
7

Agregue el código para probar la función de la siguiente manera : .

int _tmain ( int argc, _TCHAR * argv [ ] ) {

char * txt = " Cuatro cuentas y hace siete años ..." ;

char * newTxt ;

newTxt = (char *) malloc ( strlen (txt ) 1 ) ;

inversa ( txt, newTxt ) ;

printf ("% s \\ n", newTxt ) ;
< p > libre ( newTxt ) ;

return 0; }


variables se llaman igual que en la función para evitar confusiones. El " malloc " función asigna memoria para la cadena " newTxt " , la función se llama . A continuación , imprima la nueva cadena en la consola , y luego liberar la memoria asignada por " malloc ".

Para probar el programa en Visual Studio , haga clic en F5.

C /C + + Programming
Cómo convertir CPP de DLL
Cómo utilizar Doxygen en opinar Códigos Fuente
Cómo leer correo electrónico codificado con MIME
Cómo hacer un juego básico en C + +
Cómo utilizar stdlib.h
¿Para qué se usa el ensamblaje en el contexto de la programación de computadoras y el desarrollo de software?
Cómo depurar los problemas de corrupción de memoria en Win32
Cómo inicializar una matriz vacía en C
Conocimiento de la computadora © http://www.ordenador.online