C-ben hogyan tudok létrehozni egy N hosszú tömböt?
Változó méretű tömböt: típusnév *t = calloc(n, sizeof(t[0]));
Vagy, ha nem kell 0-val feltöltve legyen: t = malloc(n*sizeof(t[0]));
@Wampa: a kódod pontosan N bájtot foglal le, ami egy N hosszú sztringnél jó is, lenne, de ugye az int 4 bájtos, így a példakódodban csak N/4 db intet lehetne tárolni.
---
#4: A sizeof hogy fogja egy le nem foglalt tömb első elemének méretét megállapítani?
---
Én így csinálnám
<típus> *<név> = (<típus>*)malloc(n*sizeof(<típus>));
Mi a gond vele?
Ennek biztosan működnie kellene:
int N=10; //N erteke jelenleg 10, de valtoztathato
int tomb[N]; //N meretu egesz szamokat tartalmazo tomb
Vagy dinamikusan:
int N=10;
int * tomb = (int *) malloc( N * sizeof(int) );
Esetleg az N konstansot megadhatod "const int=10;" módon is (bár nem tudom, hogy melyik C verzió támogatja, a régebbiek még talán nem), vagy a #define N 10 sor is biztosan működik N értékének megadására.
N bekérése:
int N;
printf("Kerem az N-t: ");
scanf("%d", &N);
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!