elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C++] Iniciación al manejo de los punteros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: [C++] Iniciación al manejo de los punteros  (Leído 24,068 veces)
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #10 en: 16 Julio 2010, 17:59 pm »

... te has limitado a contar, a tu forma, lo que ya dicen todos los libros y manuales que he visto, y me imagino que la mayoría de los que no he visto ...

No obstante, conozco a varios con dolores de cabeza cuando recién comienzan con los punteros, y que lo explique así de claro alguien que recién lo entiende tiene su mérito, además de que puede resultar más sencillo para otros que comienzan al igual que él :)

Saludos

+1


En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #11 en: 16 Julio 2010, 19:18 pm »

Muy bueno, un consejito es que pongas codigos de ejemplos, es decir ejercicios hechos, eso fue lo que mas me costo a mi, la practica  :xD... De hecho todavia creo que no la domino del todo...

Por ahi hay un post mio haciendo un ejercicio que no me salia sobre memoria dinamica y funciones... No tiene mucho sentido pero es muy bueno para ver formas de utilizar memoria dinamica... Te puede servir para hacer ejemplos, o simplemente colocarlo a manera de cultura general  :xD

Saludos... Muy buen aporte...


En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #12 en: 16 Julio 2010, 20:29 pm »

Muy bueno, un consejito es que pongas codigos de ejemplos, es decir ejercicios hechos, eso fue lo que mas me costo a mi, la practica  :xD... De hecho todavia creo que no la domino del todo...

Por ahi hay un post mio haciendo un ejercicio que no me salia sobre memoria dinamica y funciones... No tiene mucho sentido pero es muy bueno para ver formas de utilizar memoria dinamica... Te puede servir para hacer ejemplos, o simplemente colocarlo a manera de cultura general  :xD

Saludos... Muy buen aporte...

Ya he publicado un ejercicio. Publicaré más si veo que tiene éxito. ¡Animaos todos!

Saludos :P
En línea

Micah Genji

Desconectado Desconectado

Mensajes: 52


learn more to life


Ver Perfil
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #13 en: 1 Agosto 2010, 19:32 pm »

excelente lo estuve revisando y esta comprensivo.
si pusieras algunos ejemplos con cadena de caracteres seria la joya :)

en fin te mando mi forma de resolverlo el ejercicio, me decis q hago mal

saludos
En línea

Only two things are infinite, the universe and human stupidity, and I'm not sure about the former : A.E
Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #14 en: 2 Agosto 2010, 00:41 am »

excelente lo estuve revisando y esta comprensivo.

Gracias ;D

si pusieras algunos ejemplos con cadena de caracteres seria la joya :)

Ahora pongo alguno.

en fin te mando mi forma de resolverlo el ejercicio, me decis q hago mal

saludos

No sé si entendiste el ejercicio. Ahora modifico la información para que se entienda mejor pero a partir de la palabra: queso. Con esta palabra, dividiéndola, se puede mostrar la frase: eso es queso. Una vez sabes esto, haces un arreglo, penor ejemplo:

Código
  1. char palabra[6] = "queso";

Y un puntero al arreglo:

Código
  1. char *ptr = palabra;

A partir de ahí, vas aumentando la posición de memoria del puntero, para que te muestre la palabra y, puedes modificar el contenido de UN elemento. Igualmente, ahora pongo un ejemplo jugando con los arreglos de caracteres y, seguramente lo entenderás mejor.

Saludos :P
« Última modificación: 2 Agosto 2010, 00:44 am por Horricreu » En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #15 en: 6 Septiembre 2010, 23:17 pm »

Bueno, entendí mejor que en los e-books que tengo (y me volví loco googleando y nada). :¬¬

Ahora, hay algo que no entiendo bien. ¿Para qué sirven realmente los pointers?? ¿qué gano teniendo la dirección en memoria de X?
Cuando ejecuto mi programa, si necesito más memoria supongo que el sistema lo hace solo, no necesito reservar memoria.
En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #16 en: 6 Septiembre 2010, 23:37 pm »

Bueno, entendí mejor que en los e-books que tengo (y me volví loco googleando y nada). :¬¬

Ahora, hay algo que no entiendo bien. ¿Para qué sirven realmente los pointers?? ¿qué gano teniendo la dirección en memoria de X?
Cuando ejecuto mi programa, si necesito más memoria supongo que el sistema lo hace solo, no necesito reservar memoria.

Citar
C was developed when computers were much less powerful than they are today and being very efficient with speed and memory usage was often not just desirable but vital. The raw ability to work with particular memory locations was obviously a useful option to have. A few tasks these days, such as programming microcontrollers, still need this. However most modern programmers do not need such fine control and the complications of using pointers make programs less clear to understand and add to the ways in which they can be go wrong. So why are pointers still used so much in C & its successor, C++?

The reason is that pointers are used to bodge into C some vital features which are missing from the original language: arrays, strings, & writeable function parameters. They can also be used to optimize a program to run faster or use less memory that it would otherwise.

One of the complications when reading C programs is that a pointer could be being used for any, several or all of these different reasons with little or no distinction in the language so, unless the programmer has put in helpful comments, one has to follow through the program to see what each pointer is used for in order to work out why it is there instead of a plain simple variable.

Con los punteros eres el amo y señor de una dirección de memoria. Puedes hacer lo que te dé la gana... ahí juega la imaginación ;D

Saludos :P
« Última modificación: 6 Septiembre 2010, 23:42 pm por Horricreu » En línea

JuszR


Desconectado Desconectado

Mensajes: 2.866


Programming & RI


Ver Perfil
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #17 en: 7 Septiembre 2010, 22:54 pm »

¿Cómo qué? dame un ejemplo real.

microcontrollers, still need this. However most modern programmers do not need such fine control and the complications of using pointers make programs less clear to understand and add to the ways in which they can be go wrong. So why are pointers still used so much in C & its successor, C++?

The reason is that pointers are used to bodge into C some vital features which are missing from the original language: arrays, strings, & writeable function parameters. They can also be used to optimize a program to run faster or use less memory that it would otherwise.
Según eso no los necesito. No pienso programar microcontroladores, y según tengo entendido, C++ tiene eso que le 'falta' a C.
En línea

- No programming language is perfect. There is not even a single best language; there are only languages well suited or perhaps poorly suited for particular purposes. [Herbert Mayer]
Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: [TALLER][C++] Empezando a manejar los punteros
« Respuesta #18 en: 8 Septiembre 2010, 18:11 pm »

¿Cómo qué? dame un ejemplo real.

Si aprendes programación, no sé lo que quieres hacer. Hay montones de ejemplos...

microcontrollers, still need this. However most modern programmers do not need such fine control and the complications of using pointers make programs less clear to understand and add to the ways in which they can be go wrong. So why are pointers still used so much in C & its successor, C++?

The reason is that pointers are used to bodge into C some vital features which are missing from the original language: arrays, strings, & writeable function parameters. They can also be used to optimize a program to run faster or use less memory that it would otherwise.
Según eso no los necesito. No pienso programar microcontroladores, y según tengo entendido, C++ tiene eso que le 'falta' a C.

Claro, C++ se puede orientar a objetos.

Saludos :P
En línea

anonimo12121


Desconectado Desconectado

Mensajes: 1.813


Ver Perfil WWW
Re: [C++] Iniciación al manejo de los punteros
« Respuesta #19 en: 16 Noviembre 2010, 13:54 pm »

Horricreu vi este post hace tiempo pero estaba dejado de programar ahora lo retornado serio, y lo e leído y e hecho lo siguiente.
Correjirme por favor
Código:
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
    int a =1;
    int v[]={12,13,14,15};
    int *p=NULL;
    int *p1=new int[4];
    p=&a;
    cout << " => Welcome\n";
    cout << &a << " => a = " << a << "\n";
    cout << p << " => *p = " << *p << "\n";
    *p=2;
    cout << &a << " => a = " << a << "\n";
    cout << p << " => *p = " << *p << "\n";
    p=v;
    cout << p << " => *p = " << *p << "\n";
    p++;
    cout << p << " => *p = " << *p << "\n";
    p++;
    cout << p << " => *p = " << *p << "\n";
    p++;
    cout << p << " => *p = " << *p << "\n";
    p++;
    for(int i=0;i<=4;i++)p1[i]=v[i]; //no esta apuntando a la dirección de v[x] si no que se le añade el valor reservado a la memoria
    cout << &p1[0] << " => *p1 = " << p1[0] << "\n";
    cout << &p1[1] << " => *p1 = " << p1[1] << "\n";
    cout << &p1[2] << " => *p1 = " << p1[2] << "\n";
    cout << &p1[3] << " => *p1 = " << p1[3] << "\n";
    cin.get();
    delete[] p1;
}
/*
Para crear un puntero se le asigna el valor NULL asi "int *p =NULL";
int *p al poner "*" hace que sea puntero la variable.
para que el puntero tenga una dirección "p=&variable.
para usar valor de la dirección del punter "*p".
para ver la dirección de memoria del puntero "p".
para ver la dirección de memoria de una variable int normal &variable.
tambien se puede hacer para reservar un espacio y que el puntero apunte algo de la siguiente manera "int *p= new int;
con el operador "new" reservamos memoria dinamica es obligatorio eliminar la memoria reservada "delente p;"
Arreglos dinamicos int p=new int[5]; delete[] int;
*/
En línea

Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Manejo de listas y punteros
Programación C/C++
PipeCR 2 2,261 Último mensaje 16 Septiembre 2016, 07:18 am
por PipeCR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines