No video

Bloque 7.3: Calloc y Free con Vector Dinamico

  Рет қаралды 27,036

Empieza A Programar

Empieza A Programar

Күн бұрын

Explicacion de que son y para que se usan las funciones Calloc y Free con un vector dinamico

Пікірлер: 33
@josellamas1121
@josellamas1121 9 жыл бұрын
Exelentes videos, me sirven mucho, no tuve la oportunidad de estudiar y el sueño de progrmamar sigue vivo, gracias
@alejandropereyra2910
@alejandropereyra2910 5 жыл бұрын
sos un crack. Tu curso es gratuito pero tendríamos que darte algo pago. no se en que universidad enseñas o a que te dedicas pero esto del compartir conocimiento a distancia es lo tuyo sos un crack hermano un crack!!
@pablosalina9250
@pablosalina9250 Жыл бұрын
Tus videos me estan ayudando muchisimo a entender C.Eres un crack!
@axelhiram9292
@axelhiram9292 4 жыл бұрын
Perfecto!! 2020 y hasta el momento no hay ningún dislike
@EmpiezaAProgramar
@EmpiezaAProgramar 4 жыл бұрын
No mientas al diablo!! xD
@cesargamboa13
@cesargamboa13 5 жыл бұрын
/* Version propia ligeramente mejorado el output y bien comentado. Espero le sea útil a alguien Bloque 07.03: Vector con 100 enteros entre 0 y 2 y contar con un vector dinamico cuantas veces aparece cada uno Uso de funciones Calloc y Free Version por: Cesar Gamboa */ #include #include #include void aleatorio(int vector[], int n); int main(){ system("color 0A"); system("cls"); int i,op; int N=3,M=10; int vector[M]; int *contador; //calloc se usa para lo mismo que malloc, para asignar memoria, pero se diferencia en que no se multiplican los elementos, o sea se declara (*int)calloc(N,sizeof(int)) //la otra diferencia es que calloc inicializa el espacio de memoria luego de asignarlo. Malloc se usa cuando no importa que hay dentro de lvector dinamnico, mientras que calloc // se usa cuando querramos que el contador se inicialice en 0. Calloc es mas lenta por que inicializa los elementos. contador = (int*)calloc(N,sizeof(int));//asigna espacio de memoria e inicializa los espacios del vector en 0 if(contador==NULL){ printf("No se ha podido asignar la memoria "); }else{ //inicializar vector estatico con numeros aleatorios aleatorio(vector,M); //verificar cuantas veces se repite un numero for(i=0;i
@ivangutierrez7333
@ivangutierrez7333 4 жыл бұрын
Papel y boli, es la clave
@Alan-fu2vx
@Alan-fu2vx 8 жыл бұрын
Me encanta como en los primeros bloques tenes como ~30k de vistas, y en estos ultimos ~3k... Yo estoy tardando como 1 mes en terminar este 'curso', pero lo voy a terminar xD Y despues a OOP con el de Java !! Cuantos seremos los que ademas de seguir el curso tambien hicimos todos los ejercicios que postea de las practicas de su universidad... lol
@EmpiezaAProgramar
@EmpiezaAProgramar 8 жыл бұрын
+Alan Randsom Seguro que pocos, pero es la auténtica manera de aprender a programar, con ver solo videos y sin practicar no se aprende. Un saludo.
@Alan-fu2vx
@Alan-fu2vx 8 жыл бұрын
Totalmente ! "A programar se aprende programando".
@iTiago98
@iTiago98 9 жыл бұрын
¿El vector "contador" se hace dinámico para ejemplificar el uso del calloc? Lo digo porque no se cambia en ningún momento el espacio de memoria ocupado por él, por lo que podría haberse hecho estático. Muchas gracias por tus vídeos, dicho sea de paso.
@keysersoze4
@keysersoze4 2 жыл бұрын
Es cierto que no se cambia el espacio de memoria del vector, pero al usar calloc directamente, te ahorras de escribir un bucle for que haga que todos los valores de ese vector se inicialicen en 0.
@iTiago98
@iTiago98 2 жыл бұрын
@@keysersoze4 Respondiendo a las 2 de la mañana a un comentario de 2015 en un vídeo de aprender a programar. Usted, señor, puede contarme entre sus admiradores.
@musicaclasicasymas8582
@musicaclasicasymas8582 3 жыл бұрын
Como puedo hacer;;;; mensaje un vector tipo int con reserva de memoria dinamica, usando la funcion calloc
@axelok9835
@axelok9835 7 жыл бұрын
Una pregunta.Si yo uso un vector dinámico y guardo 3 números y luego lo vuelvo a usar y y guardo 5 numeros. En total estoy ocupando el lugar de los 8 números o de los últimos cinco?
@enzo7400
@enzo7400 6 жыл бұрын
Para hacer eso primero tenes que usar la funcion realloc para redimensionar tu vector dinamico. Si inicialmente usaste malloc para asignar 3*sizeof(int) bytes, y colocaste los 3 valores, luego si queres agregar 5 mas, tenes que hacer asi: vector=(int*) realloc(vector,8*sizeof(int)). Ahora el vector estará en otra direccion de memoria, con [8*sizeof(int)] bytes de reserva, donde ya estaran alojados los 3 numeros originales, y el espacio libre disponible para otros 5 numeros, lo rellenas manualmente. Saludos!
@scenesmovies7405
@scenesmovies7405 8 жыл бұрын
Emilio para que se usa dos o tres o mas punteros ... No lo explicaste ...
@agustinlyon8173
@agustinlyon8173 3 жыл бұрын
A ver si entendí, op almacena un valor aleatorio de 100 numeros entre 0 y 2... Por lo cual en la siguiente linea, el vector dinamico cuando le decimos contador + 1 (suponiendo que op devuelve un 1 ), se va a la posicion 1 del vector y le suma un elemento. op = vector[i]; *(contador + op) += 1 Despues vuelve a ejecutarse, y op devuelve esta vez 0, entonces me voy a la posicion 0 y le sumo un elemento. Y asi sucesivamente con todas las posiciones sumandole uno hasta que se cumpla la condicion de menor a 100. Estoy en lo correcto? xD me confundio un poco eso pero creo que es asi
@luis3664
@luis3664 7 жыл бұрын
Disculpa tengo una duda sobre la funcion free, solo sirve para liberar memoria dinamica o para la estatica tambien? y tambien quiero saber si aplico free se pierden los datos almacenados en ella osea q si los intento mostrar de nuevo no saldran?
@antoniotxdr5857
@antoniotxdr5857 2 күн бұрын
Para la dinámica ya que solo sirve al usar malloc y calloc
@VideoRacion
@VideoRacion 10 жыл бұрын
Tengo una duda, porque al principio tienes void aleatorio(int vector[], int N); y al hacer la función void aleatorio(int vector[], int tam) es un error tuyo o es por algo en especifico?, ya que si yo lo hago como tu enseñaste al poner tal cual la funcion, me muestra todos los números y al final la suma. ./memoria3 1 1 0 1 2 0 2 2 2 1 1 1 0 2 2 0 0 0 2 2 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 2 1 2 1 0 0 1 0 1 1 0 1 0 0 0 2 2 2 0 2 1 0 0 1 2 1 2 0 1 2 0 0 0 2 2 1 1 0 1 2 1 0 0 2 0 2 1 0 2 1 2 0 2 0 0 1 1 2 1 2 2 0 39 33 28
@EmpiezaAProgramar
@EmpiezaAProgramar 10 жыл бұрын
Video Ración En el prototipo y en la funcion, puedes poner los nombres que quieras a los parametros, aunque sean diferentes entre ellos. Realmente en el prototipo solo necesita saber el compilador el TIPO de los parametros, es decir, si son enteros o lo que fuese, pero es mas rapido copiar y pegar la cabecera de la funcion... por eso lo hago asi y ademas es menos lioso para las personas al inicio. Un saludo.
@omarlandaeta1671
@omarlandaeta1671 6 жыл бұрын
Esto pasa porque la función aleatorio esta imprimiendo el contenido del vector. Seguro copiaste y pegaste la función y se te olvido borrar el printf("%i, ",*(vector+i));
@gerardorojasvite5057
@gerardorojasvite5057 7 жыл бұрын
Por qué en la función aleatorio se pone int tam?
@TheMarrioser
@TheMarrioser 7 жыл бұрын
porque así podrías usar esa misma función "aleatorio" en otro programa sin tocar nada más que el limite de los números que ser repiten. Espero que me entiendas
@carlossantaella139
@carlossantaella139 8 жыл бұрын
si en vez del calloc pongo este codigo: contador = (int*)malloc(C*sizeof(int)); for(i = 0 ; i< 3 ; i++){ *(vec+i) = 0; } estaria usando de igual manera el gpu o seria menos requirimientos
@carlossantaella139
@carlossantaella139 8 жыл бұрын
+Carlos Santaella perdon en vez d vec va contador
@kevinender5409
@kevinender5409 7 жыл бұрын
drsshhhhhhhsh..drrshh te entendí XD
@miro0292
@miro0292 9 жыл бұрын
Hola buenas tarde. excelentes vídeos pasaba a felicitarte. me gustaria hablar con vos por imbox.
@EmpiezaAProgramar
@EmpiezaAProgramar 9 жыл бұрын
Miguel Rojas Gonzalez No suelo hablar por privado, si tienes algo que comentarme lo puedes hacer por aqui, si es algo privado lo puedes hacer con un mensaje privado. Un saludo.
@miro0292
@miro0292 9 жыл бұрын
vale. pues lo principal era agradecerte por esos vídeos tan bien realizados y muy bien explicado. lo segundo me gustaría saber si tienes algún vídeo en c sobre listas y colecciones. lo tercero es que facebook.com/FullProgramacion quiere apoyarte compartiendo tu canal y en fin en latinoamerica. asi los dos se podrían ayudar. no se que pienses. gracias por la atención prestada.
@gerardorojasvite5057
@gerardorojasvite5057 7 жыл бұрын
Alguien que me diga por favor cuál es mi error. #include #include #include void asignar (int vector[],int N); int main (){ int i,op; int vector [100]; int N=3; int *contador; contador = (int*)calloc(N,sizeof(int)); if (contador==NULL){ printf("No se ha podido asignar memoria "); } else{ asignar(vector,100); for (i=0; i
@RurajjIki
@RurajjIki 7 жыл бұрын
En el segundo bucle for: i = 0 NO i < 0 :P
Bloque 7.4: Strings Dinamicos y Funcion exit
21:38
Empieza A Programar
Рет қаралды 24 М.
Bloque 7.2: Malloc y Realloc con Vector Dinamico
23:03
Empieza A Programar
Рет қаралды 62 М.
7 Days Stranded In A Cave
17:59
MrBeast
Рет қаралды 92 МЛН
UNO!
00:18
БРУНО
Рет қаралды 5 МЛН
OMG what happened??😳 filaretiki family✨ #social
01:00
Filaretiki
Рет қаралды 13 МЛН
Чёрная ДЫРА 🕳️ | WICSUR #shorts
00:49
Бискас
Рет қаралды 6 МЛН
Bloque 7.1: ¿Que es la Memoria Dinamica?
17:56
Empieza A Programar
Рет қаралды 68 М.
Bloque 8.1: Lectura de Ficheros de Texto con fgetc y fgets
16:21
Empieza A Programar
Рет қаралды 89 М.
microsoft doubles down on recording your screen
10:00
Low Level Learning
Рет қаралды 42 М.
Asignación dinámica de memoria en C - malloc, calloc y free
9:24
What's Your ENGLISH LEVEL? Take This Test!
21:31
Brian Wiles
Рет қаралды 2,2 МЛН
Bloque 8.2: Ejemplo Leer de fichero y meter datos en Estructura.
21:05
Empieza A Programar
Рет қаралды 145 М.
malloc vs calloc Differences Explained | C Programming Tutorial
9:05
Portfolio Courses
Рет қаралды 29 М.
Memoria dinámica en C - Malloc, Calloc y Realloc
20:56
New line
Рет қаралды 2,7 М.
Asignación dinámica de memoria || Uso de malloc || calloc || free
27:57
Fantasma del teclado
Рет қаралды 364
7 Days Stranded In A Cave
17:59
MrBeast
Рет қаралды 92 МЛН