Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-01-2008, 09:24   #1
Vash88
Senior Member
 
L'Avatar di Vash88
 
Iscritto dal: Sep 2003
Città: Regno Unito
Messaggi: 5726
[C] Problema con i puntatori [NOOB]

devo leggere 3 interi e metterli in memoria heap con 3 puntatori P1, P2, P3.
Poi tramite procedura fare in modo che P1 punti alla cella precedentemente indirizzata da P2, P2 punti alla cella precedentemente indirizzata da P3 e P3 punti alla cella precedentemente indirizzata da P1.

il mio tentativo è atroce perchè non ci ho capito niente
Codice:
#include <stdio.h>
#include <stdlib.h>
void scambia3(int*,int*,int*);
int main(void)
{
    int X, Y, Z;
    int*P1,*P2,*P3;

    P1=(int*)malloc(sizeof(int)); P2=(int*)malloc(sizeof(int)); P3=(int*)malloc(sizeof(int));
    printf("inserire X, Y e Z");
    scanf("%d%d%d",&X,&Y,&Z);
    scambia3(P1,P2,P3);
    printf("i valori scambiati di X, Y e Z sono %d %d %d",*P1 ,*P2, *P3);
system("PAUSE");
}
void scambia3(int*P1,int*P2,int*P3)
{
     int Ptemp;
     Ptemp=*P1;
     *P1=*P2;
     *P2=*P3;
     *P3=Ptemp;
}
__________________
3090 FE & Ryzen 5700x - Legion 7 5800h 32gb - 3080 16gb

Ultima modifica di Vash88 : 14-01-2008 alle 09:42.
Vash88 è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2008, 10:31   #2
Vash88
Senior Member
 
L'Avatar di Vash88
 
Iscritto dal: Sep 2003
Città: Regno Unito
Messaggi: 5726
Codice:
#include <stdio.h>
#include <stdlib.h>
void scambia3(int*,int*,int*);
int main(void)
{
    int X, Y, Z;
    int*P1,*P2,*P3;

    printf("inserire X, Y e Z");
    scanf("%d%d%d",&X,&Y,&Z);
    P1=(int*)malloc(sizeof(int)); P2=(int*)malloc(sizeof(int)); P3=(int*)malloc(sizeof(int));
    *P1=X; *P2=Y; *P3=Z;
    scambia3(P1,P2,P3);
    printf("i valori scambiati di X, Y e Z sono %d %d %d",*P1 ,*P2, *P3);
system("PAUSE");
}
void scambia3(int*P1,int*P2,int*P3)
{
     int Ptemp;
     Ptemp=*P1;
     *P1=*P2;
     *P2=*P3;
     *P3=Ptemp;
}
Risolto
__________________
3090 FE & Ryzen 5700x - Legion 7 5800h 32gb - 3080 16gb
Vash88 è offline   Rispondi citando il messaggio o parte di esso
Old 14-01-2008, 12:33   #3
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Così però non metti sullo heap i tre interi;

Stai mettendo sullo stack 3 interi e allocando sullo heap spazio per tre interi che referenzi tramite tre puntatori che subito dopo fai puntare ai tre interi sullo stack...


Infatti prova a commentare questa riga e vedrai che il codice funziona lo stesso:
Codice:
P1=(int*)malloc(sizeof(int)); P2=(int*)malloc(sizeof(int)); P3=(int*)malloc(sizeof(int));
questa è la riga dove allochi sullo heap dello spazio per tre interi e referenzi quello spazio con i puntatori dichiarati, solo che nella riga sotto:
Codice:
*P1=X; *P2=Y; *P3=Z;
dici ai puntatori di lasciar perdere lo spazio sullo heap e di puntare ai tre interi X,Y,Z che avevi allocato sullo stack così:

dichiarazione:
Codice:
int X, Y, Z;
inizializzazione dei valori:
Codice:
printf("inserire X, Y e Z");
scanf("%d%d%d",&X,&Y,&Z);
Ciao

Ultima modifica di banryu79 : 14-01-2008 alle 12:39.
banryu79 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Ginga porta il monitoraggio delle perfor...
Tesla sorprende Wall Street: 486.532 con...
Cosa succede alle ossa degli astronauti ...
AgriEuro Premium Days: il 6 e 7 ottobre ...
259 euro per 2 TB di SSD PCIe 4.0 (Biwin...
GPT-6 Astra decifra dopo 217 anni una le...
Roborock Saros 20 Neo: pulisce al meglio...
Samsung Galaxy S27 Ultra, nuove conferme...
Offerte Prime Candy: lavatrice ProWash 3...
Tegola su Anthropic, gli agenti AI valgo...
E-bike in carbonio con un prezzo assurdo...
Serrature smart SwitchBot Lock Ultra in ...
NVIDIA DGX Spark da 64 GB: arriva il nuo...
Nothing e CMF in offerta Prime: Ear (3) ...
Football Manager 27 sta arrivando: ecco ...
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: 15:41.


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