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 ?

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