PROBLEMA Puntatori in c dubbio a livello macchina

Manuel Ferrari

Utente Èlite
37,314
10,408
CPU
Intel® Core™ i7-4712HQ
Scheda Madre
Intel HM87
HDD
Samsung SSD SM841 512GB
RAM
16 GB Dual-channel DDR3L 1600 MHz
GPU
NVIDIA GeForce GT 750M - 2 GB GDDR5
Audio
Intel Lynx Point PCH
Monitor
15.6 pollici 3200x1800 pixel IZGO Led
PSU
130 Watt AC 100-240V, 50-60Hz; DC 19,5V
Case
Dell XPS 15
OS
Windows 10

Andretti60

Utente Èlite
6,440
5,091
Invece di postare immagini, ti consiglio di usare il tag code.

No, quello che hai scritto non ha senso.
's' e' un puntatore, quindi e' corretti assegnarli l'indirizzo di una variabile, nel tuo caso 'c'
Ma anche le altri variabili sono puntatori, se a loro assegni il valore di 's', ovviamente tutte loro punteranno all'indirizzo di 'c' nel modo in cui le assegni.
Per fare uso di quelli che vuoi fare tu, devi dichiarare 'puntatori a puntatori' per esempio

Codice:
char c = 'a';
car *p1, **p2;
p1 = &a;
p2 = &p1;

a quel punto per stampare la variabile 'c' puoi usare *p1 o **p2
 

davidson

Nuovo Utente
33
5
Invece di postare immagini, ti consiglio di usare il tag code.

No, quello che hai scritto non ha senso.
's' e' un puntatore, quindi e' corretti assegnarli l'indirizzo di una variabile, nel tuo caso 'c'
Ma anche le altri variabili sono puntatori, se a loro assegni il valore di 's', ovviamente tutte loro punteranno all'indirizzo di 'c' nel modo in cui le assegni.
Per fare uso di quelli che vuoi fare tu, devi dichiarare 'puntatori a puntatori' per esempio

Codice:
char c = 'a';
car *p1, **p2;
p1 = &a;
p2 = &p1;

a quel punto per stampare la variabile 'c' puoi usare *p1 o **p2

assegnare il valore di s a w (w = s) in questo caso vuol dire passagli l'indirizzo di memoria di s o di a?
 

Andretti60

Utente Èlite
6,440
5,091
L’assegnazione è sempre per valore quando la variabile è di tipo semplice. Infatti per assegnare l’indirizzo devi specificatamente usare il simbolo del indirizzo (ossia il &).
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili