Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-06-2008, 12:00   #1
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
[C] Allocatore di memoria

Devo realizzare per un esame un allocatore di memoria... le specifiche sono un po' più complesse ma il problema di fondo è il seguente:

Devo realizzare una struttura che serva da memoria, in particolare ho pensato a dichiararmi un array di char visto che char ha dimensione fissa di 1 byte;

L'idea dell'allocatore è simile a quella che è anche presente sul libro Kerninghan,Ritchie "Il linguaggio C" e che riporto qui sotto:

Codice:
//ALLOCATORE SEMPLICISTICO DI MEMORIA
#include <stdio.h>
#include <stdlib.h>
#define ALLOCSIZE 100
	

typedef struct memoria{
	int posizioneAttuale;
	char* struttura;
	int dimensione;
}memoria;

//crea la memoria
memoria* creaMemoria(int dim)
{
	memoria* mem = malloc(sizeof(memoria));
	mem->dimensione=dim;
	mem->posizioneAttuale=0;
	return mem;
}

//alloca uno spazio di dimensione n in memoria
char* alloc(int n, memoria * memory)		/* ritorna un puntatore ad n caratteri */
{
	int vecchiaPosizione = memory->posizioneAttuale;
	memory->posizioneAttuale += n;
	return memory->struttura+vecchiaPosizione;
}

	
int main(int argc, char* argv[])
{	
	memoria* mem = creaMemoria(10);
	char* stringa= alloc(5,mem);
	stringa="ecco";
	printf("%s\n",stringa);
	printf("%s\n",mem->struttura);
}
In fase di debug vedo che quando assegno allavariabile stringa il valore "ecco" tale valore non viene riportato nella mia memoria ovvero mem->struttura, questa cosa si vede anche dal fatto che la seconda printf non stampa nulla...
Come posso fare per memorizzare in fase di assegnamento il valore anche nella mia memoria?

HELP!!!
braian è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2008, 13:49   #2
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
up,
ho trovato anche questo: http://www.hwupgrade.it/forum/showthread.php?t=1557357
ma è diverso dal mio problema
braian è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2008, 13:53   #3
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da braian Guarda i messaggi
Codice:
	stringa="ecco";
Non è il modo di copiare le stringhe in C, prova con:
Codice:
strcpy(stringa,"ecco");
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 16-06-2008, 16:27   #4
braian
Member
 
L'Avatar di braian
 
Iscritto dal: Apr 2007
Messaggi: 153
Si, è vero hai ragione
Grazie della risposta...
Il problema stava tutto li.
braian è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
Apple affronta un dilemma con il MacBook...
ECOVACS X11 OMNICYCLONE: 19.500 Pa, moci...
ll nuovo HONOR 600 Lite 5G arriva in Ita...
Kindle, addio allo store sui vecchi e-re...
DJI Flip Combo Fly More a 599€ invece di...
Addio cavi e adattatori multipli: Techly...
MOVA M50 Ultra: scopa elettrica con brac...
Amazon taglia i prezzi su GPU, CPU, alim...
Snapdragon 8 Elite Gen 6 Pro: migliorame...
Mythos di Anthropic trasforma il 72% del...
Nel 2027 potrebbe arrivare un Galaxy S27...
Corsair RM 2025, 4 alimentatori in offer...
Poche novità per iPhone 18 e Air 2: ecco...
Top 7 Amazon, appena aggiornata: super s...
Intel partner di Musk: ecco il ruolo con...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v