Jak wygląda inny sposób inicjalizowania tablicy niż taki :
int tablica[1000];
. Robiło się to jakoś z nawiasami okrągłymi, ale nie moge tego znaleźć. Bardzo prosze o pomoc.
Jak wygląda inny sposób inicjalizowania tablicy niż taki :
int tablica[1000];
. Robiło się to jakoś z nawiasami okrągłymi, ale nie moge tego znaleźć. Bardzo prosze o pomoc.
Czy na pewno chodzi ci o inicjalizowanie? W tym co podałeś - brak inicjalizowania. To są inicjalizowania:
int tablica[]={1,2,3};
int tablica[10]={0};
Pewnie chodzi Ci o dynamiczną alokację:
int* tablica = malloc(sizeof(*tablica) * liczba_elementów);
Patrzcie co wymyśliłem ;P
tab.nasm
global _deklaruj
section .text
_deklaruj:
pop ebx
pop ecx
mov eax, esp
sub esp, ecx
push ebx
ret
main.c
#include <stdio.h>
extern int *deklaruj(int);
int main(void){
int *t;
t = deklaruj(10*sizeof(int));
size_t i;
for (i = 0; i < 10; i++){
t[i] = i;
}
for (i = 0; i < 10; i++){
printf("%d ", t[i]);
}
return 0;
}
nasm -fwin32 tab.nasm
gcc main.c tab.obj
A czym to się różni od zwykłego mainstreamowego: int t[10];
czy oprócz:
Brawo, wynalazłeś _alloca()
:-)