he vuelto a ver el primer video de punteros, y este video. hice el ejercicio 4 o 5 veces hasta q me salio bien sin errores. ahora pude entender mejor el tratamiento de memoria semi estatica y las funciones a emprear. me pone contento poder seguir adelante con el curso. gracias emilio..! int main() { int i, N; int *vector; //delcaracion del vector printf(" "); printf(" Ingrese un valor para N "); scanf("%i",&N); vector=(int*)malloc(N*sizeof(int)); //asignacion de memoria if (vector==NULL) { //verificar si apunta a nada printf(" No se ha podido reservar memoria para el vector"); } else { for (i=0; i
Excelentes videos!! Muy bien explicados. Me sirvieron un montón para volver a retomar el tema junto con los libros. Igual con el curso de Java, agradecido del contenido y las ganas de enseñar que tienes. Saludos desde Arg.
Todo un capo entendí muy bien, si es que aun en 2024 sigues haciendo videos te recomiendo hacer visualizaciones ósea explicar con dibujos, yo entendí bien gracias a que llevo usándola bastante tiempo en la universidad pero tu explicación estuvo muy buena,gracias
Excelente todos los videos... los estoy siguiendo desde el principio a pesar de que ya me sabia bastante de lo basico pero nunca esta de mas refrescar conocimientos... saludos!!!! y sigue asi!
Es importante mencionar que la función malloc es destructiva. Por ejemplo, si ya se tenía una arreglo de 20 elementos con valores, una vez que hagas más grande o más chico el arreglo con malloc, los valores que ya estaban previamente almacenados se pierden. Es una desventaja que veo a la memoria dinámica.
Muy buen vídeo, te ganaste que me suscriba y le de like a tu vídeo que la verdad esta muy bien explicado. Me ayudo tu vídeo a resolver mi programa sobre memoria dinámica en c++ que ejecutaba con error.
Cuando te refieres a la memoria estatica, no te estaras refiriendo a la memoria automatica, la pila? Ya que la estatica tengo entendido que es para variables globales o estaticas static.
/*con la memoria PseudoEstatica si se puede cambiar el valor conforme se va programando*/ #include #include int main(){ int i; int N; printf("ingrese un valor a N: "); scanf("%i",&N); int vec[N]; for(i = 0;i < N ; i++){ vec[i] = i; } for(i = 0;i < N ; i++){ printf("%i",vec[i]); } printf(" "); printf("ingrese un valor a N: "); scanf("%i",&N); for(i = 0;i < N ; i++){ vec[i] = i; } for(i = 0;i < N ; i++){ printf("%i",vec[i]); } printf(" ");
+Carlos Santaella claro que me imagino que hay 2 diferencias la primera que no puedes cambiar el hecho que el valor del vector es N y en la memoria dinamica si puedes cambiar ese detalle y que la cantidad de informacion que retiene la memoria dinamica es mayor
jajajaja llegamos a la misma conclusión, el problema es que usando memoria seudo estática reduciendo el vector dejas elementos fantasmas en memoria que podrías eliminar con memoria estática creo, aunque para ampliarlo no parece haber problema.
Hola que tal, muy buenos tus videos, la verdad he aprendido algunos trucos. Tengo una consulta. Estudio IT y estamos precisamente tomando una clase de C en estos momentos. Mi profesor es un amante empedernido de linux y aunque nos da la libertad de usar el sistema que queramos todo lo explica para linux. Vamos al grano, estamos construyendo un programa que busca determinadas palabras en un txt, la cuestión es que después de compilar nos queda el ejecutable y para que tome el .txt y busque lo que debe buscar solo escribimos en la terminal "./nombredelprograma < datos.txt" y listo, el pograma se ejecuta tomando el texto de datos.txt, pero no sé como hacerlo en windows, como "alimento" mi ejecutable con datos.txt? ojalá puedas ayudarme. sigue así.
Hacer un programa que ingrese datos a la siguiente estructura de arbol struct infantes { int co_inf; char nom_inf; char apell_inf float mes_inf; struct infantes *gizq; struct infantes *gder; }; struct infantes *guarda; debera crearse un menu con las opciones 3.1-cargar infante 3.2-mostrar en preorden 3.3-mostrar en posorden 3.4-Eliminar infante 3.5-salir me explicaria como hacer esto
Claro con vector no se puede, pero si le agrego sito, es decir vectorsito, si se podría: int main(){ int i; int N; int E; printf("Dame un valor para N: "); scanf("%i",&N); int vector[N]; for (i=0; i
mmm.... la memoria seudoestatica no esta tan mal para ampliar vectores, la cosa es que al minimizarlo deja fantasmas int N ; printf("Dame un valor para N: "); scanf("%i",&N); int vector[50]; int i; for(i=0;i
Varias generaciones de ingenieros informáticos descansan sobre tus hombros
Con Emilio he aprendido mas de programación que en las clases en la universidad. Gracias amigo...
Super clara tu forma de explicar, de los mejores videos que he visto. Gracias!!
he vuelto a ver el primer video de punteros, y este video. hice el ejercicio 4 o 5 veces hasta q me salio bien sin errores. ahora pude entender mejor el tratamiento de memoria semi estatica y las funciones a emprear.
me pone contento poder seguir adelante con el curso.
gracias emilio..!
int main() {
int i, N;
int *vector; //delcaracion del vector
printf("
");
printf("
Ingrese un valor para N ");
scanf("%i",&N);
vector=(int*)malloc(N*sizeof(int)); //asignacion de memoria
if (vector==NULL) { //verificar si apunta a nada
printf("
No se ha podido reservar memoria para el vector");
} else {
for (i=0; i
¡Qué bien lo explicas profesor!, Gracias por tu dedicación.
Excelentes videos!! Muy bien explicados. Me sirvieron un montón para volver a retomar el tema junto con los libros. Igual con el curso de Java, agradecido del contenido y las ganas de enseñar que tienes. Saludos desde Arg.
Oh, no! Punteros!
Eres muy grande, explicas todo con una claridad increíble. Desearía que tu fueras mi guía en el mundo de la computación y no los profesores que tengo.
Enserio no tengo palabras para agradecerte lo bueno que eres enserio :3
Todo un capo entendí muy bien, si es que aun en 2024 sigues haciendo videos te recomiendo hacer visualizaciones ósea explicar con dibujos, yo entendí bien gracias a que llevo usándola bastante tiempo en la universidad pero tu explicación estuvo muy buena,gracias
tio eres la leche. explicas cojonudo.Saludos desde México.
Excelente todos los videos... los estoy siguiendo desde el principio a pesar de que ya me sabia bastante de lo basico pero nunca esta de mas refrescar conocimientos... saludos!!!! y sigue asi!
Es importante mencionar que la función malloc es destructiva. Por ejemplo, si ya se tenía una arreglo de 20 elementos con valores, una vez que hagas más grande o más chico el arreglo con malloc, los valores que ya estaban previamente almacenados se pierden. Es una desventaja que veo a la memoria dinámica.
Que buenos videos, muchas gracias en verdad.
Muy buen vídeo, te ganaste que me suscriba y le de like a tu vídeo que la verdad esta muy bien explicado. Me ayudo tu vídeo a resolver mi programa sobre memoria dinámica en c++ que ejecutaba con error.
Cuando te refieres a la memoria estatica, no te estaras refiriendo a la memoria automatica, la pila? Ya que la estatica tengo entendido que es para variables globales o estaticas static.
gracias!! ahora lo resolví
voy x uno con structs
buen "VIDIO"
/*con la memoria PseudoEstatica si se puede cambiar el valor conforme se va programando*/
#include
#include
int main(){
int i;
int N;
printf("ingrese un valor a N: ");
scanf("%i",&N);
int vec[N];
for(i = 0;i < N ; i++){
vec[i] = i;
}
for(i = 0;i < N ; i++){
printf("%i",vec[i]);
}
printf("
");
printf("ingrese un valor a N: ");
scanf("%i",&N);
for(i = 0;i < N ; i++){
vec[i] = i;
}
for(i = 0;i < N ; i++){
printf("%i",vec[i]);
}
printf("
");
system("pause");
return 0;
}
+Carlos Santaella claro que me imagino que hay 2 diferencias la primera que no puedes cambiar el hecho que el valor del vector es N y en la memoria dinamica si puedes cambiar ese detalle y que la cantidad de informacion que retiene la memoria dinamica es mayor
jajajaja llegamos a la misma conclusión, el problema es que usando memoria seudo estática reduciendo el vector dejas elementos fantasmas en memoria que podrías eliminar con memoria estática creo, aunque para ampliarlo no parece haber problema.
Y si no asigno el numero o cantidad de elementos? En malloc, osea si no tengo la variable N
¿Qué razón puede haber para que MALLOC no pueda reservar memoria y te tire un NULL?
Pedir una cantidad de memoria superior, a la disponible en el PC.
crack
Grande emilio
Hola que tal, muy buenos tus videos, la verdad he aprendido algunos trucos. Tengo una consulta. Estudio IT y estamos precisamente tomando una clase de C en estos momentos. Mi profesor es un amante empedernido de linux y aunque nos da la libertad de usar el sistema que queramos todo lo explica para linux. Vamos al grano, estamos construyendo un programa que busca determinadas palabras en un txt, la cuestión es que después de compilar nos queda el ejecutable y para que tome el .txt y busque lo que debe buscar solo escribimos en la terminal "./nombredelprograma < datos.txt" y listo, el pograma se ejecuta tomando el texto de datos.txt, pero no sé como hacerlo en windows, como "alimento" mi ejecutable con datos.txt? ojalá puedas ayudarme. sigue así.
+Rodrigo Rivera Por favor, no hagas este tipo de preguntas en el futuro, ya que todo esto se explica mas adelante.
Un saludo.
Esto son las listas?
Al usar MALLOC por segunda vez ¿La información que contenía el vector se elimina?
No sé si te sirve pasado un año, pero sí se conserva
@@juanjopantorrilla7896 Gracias.
seria lo mismo que en vez de escribir cada vez el codigo para darle el valor a N se pueda repetir la accion con un do while??
desde ya gracias
+agus ratto Claro que sí, supongo que en el video lo hizo así para hacerlo mas claro.
Emilio me recomiendas algun libro fisico o pdf para estudiar este lenguaje mas a profundo ...
no hay mejor libro el todo poderoso Google ...
la internet
alguien sabe donde puedo descargar dev c++ de forma segura,ppor favor
Mirate el primer video.
simplemente ve el primer video .-. ahi dice
Hacer un programa que ingrese datos a la siguiente estructura de arbol
struct infantes {
int co_inf;
char nom_inf;
char apell_inf
float mes_inf;
struct infantes *gizq;
struct infantes *gder;
};
struct infantes *guarda;
debera crearse un menu con las opciones
3.1-cargar infante
3.2-mostrar en preorden
3.3-mostrar en posorden
3.4-Eliminar infante
3.5-salir
me explicaria como hacer esto
Claro con vector no se puede, pero si le agrego sito, es decir vectorsito, si se podría:
int main(){
int i;
int N;
int E;
printf("Dame un valor para N: ");
scanf("%i",&N);
int vector[N];
for (i=0; i
mmm.... la memoria seudoestatica no esta tan mal para ampliar vectores, la cosa es que al minimizarlo deja fantasmas
int N ;
printf("Dame un valor para N: ");
scanf("%i",&N);
int vector[50];
int i;
for(i=0;i
Seria bueno que dejara el codigo..
porque no se puede ingresar mas de 1000000?
wena loca, esto sirbe pa apel??
Esto en si es mala practica, no puedes declarar una variable como tamaño, debes usar un puntero y con malloc reservar la memoria
video del 2013 super bien explicado y solo tiene 1k likes? no me lo creo
Aunque no te lo creas, no es muy normal que la gente le de likes a los videos, por esa razón la gente suele insistir tanto en dar likes
chico osea separa el teclado de le microfono que parece que le estas dando martillazos al teclado Y ES SUPER MOLESTO