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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Asignar memoria dinamicamente en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Asignar memoria dinamicamente en C  (Leído 1,982 veces)
fullanitox

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Asignar memoria dinamicamente en C
« en: 10 Marzo 2016, 13:00 pm »

Hola tengo una duda con la asignacion dinamica de memoria que es por ejemplo si tengo definido un puntero en el main y ese puntero lo paso como parametro a una funcion y quiero asignarle memoria dinamica dentro de esa funcion, y cuando lo hago el programa compila pero despues salta un error de la memoria o algo asi.Me han dicho que hay que hacer un puntero a punteros pero nose bien como hacerlo. Desde ya muchas gracias.


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Asignar memoria dinamicamente en C
« Respuesta #1 en: 10 Marzo 2016, 13:47 pm »

Si le pasas el puntero a una función para que ésta le asigne un espacio en la memoria sí debes pasar la dirección del puntero como argumento (un puntero a puntero).

O puedes hacer una función que dentro de ella declare un puntero temporal y le asigne la memoria, después devuelves el puntero con el return y lo recoges en el main con una variable puntero.


En línea

fullanitox

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Asignar memoria dinamicamente en C
« Respuesta #2 en: 10 Marzo 2016, 15:56 pm »

Ah ya entendi lo probrare, muchas gracias  ;-) ;-)
En línea

furciorifa

Desconectado Desconectado

Mensajes: 94


Ver Perfil
Re: Asignar memoria dinamicamente en C
« Respuesta #3 en: 15 Marzo 2016, 04:18 am »

Código
  1. void  valor(int* x){
  2.                  *x =100;
  3.  
  4. }
El anterior modifica la referencia o lo que apunta por ejemplo si x = 10 en el main ahora es x=100, bien para esto hacias uso de :
Código
  1. valor(&x);
como decía ocupas un puntero para modificar una referencia,
entonces si mandas la de un puntero ocupas modificar al puntero con.... otro puntero!!
esto es:
Código
  1. void valor2(int** modx){
  2.                     **modx=200;
  3. }
  4.  
  5.  
Modificaste a x modificando a su vez la referencia o a lo que apunta el primer puntero
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
crear variables dinamicamente
Programación Visual Basic
Pegano25 4 2,275 Último mensaje 13 Julio 2011, 21:21 pm
por Pegano25
Asignar Mas Memoria A Un Arreglo Dinamico
Programación C/C++
Omar_2013 4 2,707 Último mensaje 2 Septiembre 2013, 23:26 pm
por Omar_2013
Depurar DLL cargada dinámicamente
Programación C/C++
javiherro 7 2,834 Último mensaje 11 Diciembre 2013, 11:14 am
por javiherro
[AYUDA] Asignar mas memoria a Wubi (Ubuntu en Windows)
GNU/Linux
Noxware 1 1,572 Último mensaje 20 Marzo 2014, 02:35 am
por dato000
Asignar memoria con malloc() en C
Programación C/C++
nullx100 3 2,374 Último mensaje 17 Abril 2022, 23:42 pm
por MAFUS
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines