Ciao a tutti. Sto studiando da poco il linguaggio C e mi sono imbattuto nelle malloc che proprio non riesco a capire, soprattutto la correlazione che c'è tra malloc e puntatori. Chi me le può spiegare in parole semplici? Ho cercato su diversi siti ma proprio non riesco a capirle!
Inoltre sto facendo degli esercizi piuttosto "avanzati", almeno per il mio livello e ce ne sono alcuni che non riesco a fare tra cui questo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* r(char *s)
{
int l=strlen(s);
int i;
char* rr=(char*)malloc(sizeof(char)*l+1);
for (i=0;i<l;i++)
rr[i]=s[l-i-1];
rr[i]='\0';
return rr;
}
char* g(char* s1)
{
int i;
char* s=(char*)malloc(sizeof(char)*strlen(s1)+1);
*s='\0';
strcat(s,s1);
for (i=0;s[i]=='0';i++)
s[i]='9';
s[i]--;
if(s[i]=='0' && s[i+1]=='\0')
s[i]='\0';
return s;
}
int main(int argc,char** argv)
{
char* a[5]={"321","1000","1","99","69"};
int i;
for (i=0;i<4;i++)
printf ("%s\n",r(g(r(a[i]))));
}
chi me lo può spiegare passo per passo?
vi ringrazio in anticipo
Ciao