Jak nazwać wskaźnik do rezerwacji pamięci?

0
int *tablica1
tablica1 = (int *)malloc(n * sizeof(int));

Jeśli mam taki kod to*tablica1 nazwać jako wskaźnik do tablicy czy po prostu wskaźnik czy jeszcze inaczej ?

0

Nie rozumiem pytania. tablica1 jest wskaźnikiem do bloku pamięci o rozmiarze n*sizeof(int) i tyle.

0

a jak jest już w drugiej linijce tablica1 to nazywać to jako tablicę ?

0

nie, nazywasz nadal to wskaznikiem. Dokladnie to co napisal @Shalom

jest wskaźnikiem do bloku pamięci o rozmiarze n*sizeof(int) i tyle.

0

Tak jak @Shalom napisał, tam nie ma żadnej tablicy! Jest ciągły blok pamięci i wskaźnik do początku tego bloku, nic więcej.

0

bo w C że tak powiem właśnie tak rezerwuję się pamięć dla tablicy, czyli dla bloku pamięci ?

0

Nie rozumiem. malloc przyjmuje jako argument liczbę bajtów do zaalokowania, nic więcej. Nie ma tam mowy o żadnych tablicach. To że potem sobie z tego bloku korzystasz jak z tablicy to jest twoja sprawa. Jeśli już to calloc jest funkcją do alokacji "tablicy", chociaż w rzeczywistości to niewiele się różni od malloc.

0

Bo chciałem dwie tablice połączyć w jedną. I chciałem aby użytkownik podawał ich rozmiar i nie wiem czy teraz jest dobrze jak użyłem malloca ?

0

@nowicjusz35 odpal sobie to:

int tablica[20];
int* wskaznik = malloc(20 * sizeof(int));
printf("rozmiar tablicy: %d, rozmiar wskaznika: %d\n", sizeof(tablica), sizeof(wskaznik));
0

To nie wiem zmienić na calloc? Bo mam takie zadanie jak napisałem 2 min temu. Czy wtedy użytkownika może podać rozmiar tej tablicy ? Może ktoś podać przykład ?

0

Jak to zamienić na calloc:

int *tablica1
tablica1 = (int *)malloc(n * sizeof(int)); 

gdzie n to właśnie liczba jaką podaje użytkownik.

Coś takiego: ?

int tablica1;
    scanf("%d",&n);
    int* tab = (int*)calloc(n,sizeof(int)); 

Pomoże ktoś ?

0
nowicjusz35 napisał(a):

Jak to zamienić na calloc:

Tylko po co? Możesz używać tego co zwróci malloc jako tablicy, i potocznie nazywamy to tablicą dynamiczną w C właśnie.
To, że to jest blok pamięci i nie jest stricte tablicą, nie powinno mieć dla Ciebie znaczenia.

0

Bo mam takie zadanie do domu i nie wiem malloc będzie ok ? Bo mam dwie tablice połączyć w jedną. I ilość elementów tablicy podaje użytkownik.

0

Może podaj całą treść zadania i swoją próbę rozwiązania, bo to co piszesz nie trzyma się kupy. Czym są te dwie tablice? Skoro je łączysz to rozmiar powinien być sumą ich rozmiarów, a nie jakaś podana z palca liczba.

1 użytkowników online, w tym zalogowanych: 0, gości: 1