Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: [C]intrebari pointeri  (Citit de 1381 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
nutzu2010
Strain


Karma: -1
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« : Decembrie 18, 2010, 18:06:09 »

Buna ziua! am sa postez aici nelamuririle mele legate de pointeri ...

1)pana acum stiu(am vazut Very Happy)  cum pot sa aloc memorie pentru un sir de numere intregi...dar daca vreau sa citesc de la tastatura un sir de caractere(un text),cum as putea face?(adica sa il citesc pe tot odata,nu litere cu litera ,cum ar fii la vectori)
eu m-am gandit la asa ceva :

Cod:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char s[10],*p;
    int i;
    fgets(s,10,stdin);
    printf("%c",s[4]);
    p=(char*)malloc(sizeof(char));
    for (i=strlen(s);i<10;++i)
    {
        p=(char*)realloc(p,(i+1)*sizeof(char));
        free(p+i);
    }


}
Memorat
chibicitiberiu
Strain
*

Karma: 3
Deconectat Deconectat

Mesaje: 49



Vezi Profilul
« Răspunde #1 : Martie 17, 2011, 11:49:35 »

O varianta mai simpla in C++ e sa folosesti new si delete, in loc de malloc, respectiv free.

int *a;
a = new int;
delete a;

Pentru un sir:
a = new int[dimensiune];
delete[] a;


In C nu merge, deci cu malloc si free:
int *a;
a = malloc(sizeof(int));
free(a);

Pentru un sir:
a = malloc(sizeof(int) * dimensiune);
free(a);



La siruri de caractere, e la fel, doar ca folosesti tipul 'char' in loc de 'int'.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines