Sono giorni che cerco in rete, ma come posso creare in nasm un array di dimensioni non prefissate?
Se ad esempio richiedo una stringa o un numero in input, non so di quanti caratteri/cifre sia composto...
Grazie a tutti! ^^
Ciao,
Patrick Jane
Sono giorni che cerco in rete, ma come posso creare in nasm un array di dimensioni non prefissate?
Se ad esempio richiedo una stringa o un numero in input, non so di quanti caratteri/cifre sia composto...
Grazie a tutti! ^^
Ciao,
Patrick Jane
esiste l'allocazione dinamica con i puntatori
tramite le funzioni malloc e calloc crei un array ma devi sapere di quanto allocare
esempio :
codice:#include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { char *array ;//un puntatore al char int caratteri,i; printf("quanti caratteri vuoi inserire ? "); scanf("%d",&caratteri); fflush(stdin); array=(char*)malloc(sizeof(char)*caratteri); printf("inserisci la stringa composta da %d caratteri --> ",caratteri); scanf("%s",array); for(i=0;i<5;i++) puts(array); free(array); system("PAUSE"); return 0; }
Tecnologia
Ma a me serve per NASM, non per C :P
Per allocare memoria dinamicamente devi usare direttamente le API del tuo sistema operativo, non esistono istruzioni "standard" per farlo.
Su windows ad esempio, leggi questo Heap Functions
Poi comunque è sempre meglio usare la memoria dello stack se non sei obbligato ad allocare dinamicamente sull'heap.