Fala galera do fórum!
Acabei de estudar a parte de ponteiros, to tentando aprender essa parte da memória dinamica já dei uma olhada em vários livros, sites, mas to com muita dificuldade.Gostaria que alguem pudesse me explicar, bastaria mandar um exemplo básico do uso de malloc , calloc, realloc.
Nos livros estou achando exemplos mais complicados.
Algumas das minhas dúvidas são as seguintes de um exemplo que achei:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
char s[200], *ptr; // criado um ponteiro para o vetor, certo?
printf(“Qual a sua String:”);
gets(s);
/*Alocar a memória necessária */
prt = (char ) malloc( strlen(s)+1) ; / ‘\0’ também conta */
// Por que esse (char*) antes de malloc, por acaso é o tipo da memória que será alocada? Não entendi esse asteristico depois do (char*)?
//Alguem pode por favor me explicar a sintaxe das funções malloc e calloc, sei que vocês podem me explicar de forma mais didática que o livro = ]
if (ptr==NULL)
puts(“Problemas na Alocação Da memória”);
else
{
strcpy(ptr,s); //Função para colocar na String outra uma cópia da String s
printf(“Strinf Original: %s \nCopias: %s \n”,s,ptr);
/*Libera a memória existente em ptr */
free(ptr);
}