Torna indietro   Hardware Upgrade Forum > Software > Programmazione

La rivoluzione dei dati in tempo reale è in arrivo. Un assaggio a Confluent Current 2025
La rivoluzione dei dati in tempo reale è in arrivo. Un assaggio a Confluent Current 2025
Siamo andati a Londra per partecipare a Current 2025, la conferenza annuale di Confluent. Il tema al centro dell'evento era l'elaborazione dei dati in tempo reale resa possibile da Apache Kafka, una piattaforma open source pensata proprio per questo. Si è parlato di come stia cambiando la gestione dei dati in tempo reale, del perché sia importante e di quali siano le prospettive per il futuro
SAP Sapphire 2025: con Joule l'intelligenza artificiale guida app, dati e decisioni
SAP Sapphire 2025: con Joule l'intelligenza artificiale guida app, dati e decisioni
A Madrid SAP rilancia sulla visione di un ecosistema integrato dove app, dati e AI generano un circolo virtuoso capace di affrontare l’incertezza globale. Joule diventa l’interfaccia universale del business, anche oltre il perimetro SAP
Dalle radio a transistor ai Micro LED: il viaggio di Hisense da Qingdao al mondo intero
Dalle radio a transistor ai Micro LED: il viaggio di Hisense da Qingdao al mondo intero
Una delle realtà a maggiore crescita nel mondo dell'elettronica di consumo, Hisense Group, affonda le sue radici nella storica città portuale di Qingdao, famosa per la sua birra. Ed è proprio qui il centro nevralgico dell'espansione mondiale dell'azienda, che sta investendo massicciamente in infrastrutture e ricerca per consolidare ulteriormente la propria leadership tecnologica.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-03-2012, 16:30   #1
Joker91
Senior Member
 
Iscritto dal: Feb 2007
Messaggi: 467
[C] passaggio parametri a funzioni

vorrei dei chiaramenti sul passaggio dei parametri tramite riferimento... Mettiamo che ho un puntatore a un array di caratteri e un puntatore a una struct. Dunque:

char* p;
struct_t* struttura;

Ora ho una funzione dove voglio sia modificare il puntatore p (cioe alla fine della funzione dev'essere avanzato di tot elementi dell'array) sia modificare la struct. E queste modifiche devono esser visibili ad ambiente globale, per questo passo per riferimento. Mettiamo in oltre la condizione che queste robe non posso returnarle perche' devo returnare gia' qualcos'altro.

Il prototipo della funzione e' dunque: funzione(char *p, struct_t* struttura);


Quindi come dovrei scrivere quando chiamo la funzione?

funzione ( &p, &struttura ) oppure funzione(p, struttura) ?

Vi sarei grato se oltre a dirmi quale usare mi diceste la differenza fra le due.
Joker91 è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2012, 17:30   #2
rootshooter
Member
 
Iscritto dal: Nov 2006
Messaggi: 201
Provo a risponderti io, vedi se ti è chiaro e casomai chiedimi

Hai un puntatore a char:

Codice PHP:
charp
Se vuoi modificare il puntatore p globale, devi passarlo per riferimento alla funzione. Quindi quello che passerai alla funzione è un puntatore ad un puntatore. Il prototipo della funzione è:

Codice PHP:
void doSomething(char** p); 
Quando richiamerai la funzione passerai allora l'indirizzo di p:

Codice PHP:
doSomething(&p); 
Per chiarezza riscrivo in modo da avere un nome della variabile locale della funzione diverso;

Codice PHP:
char stringa[12] = "Hello World!"
Usando questa notazione sappiamo che la variabile stringa in realtà è un puntatore a char. Quindi se proviamo:

Codice PHP:
printf("%c", *stringa); 
verrà stampato il carattere H. Adesso vogliamo avanzare il puntatore 1 tramite questa funzione:

Codice PHP:
void avanzaP(char** puntatoreApuntatore){
       (*
puntatoreApuntatore)++ ;

Nel main la richiamiamo passando l'indirizzo del puntatore a char

Codice PHP:
avanzaP(&stringa); 
Adesso provando a stampare:

Codice PHP:
printf("%c", *stringa); 
verrà stampato il carattere successivo al precedente.

E per provare a questo punto ti consiglio di vedere cosa succede ad usare la notazione vettoriale, per esempio con un for che itera tutti gli elementi originali.
rootshooter è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


La rivoluzione dei dati in tempo reale è in arrivo. Un assaggio a Confluent Current 2025 La rivoluzione dei dati in tempo reale è ...
SAP Sapphire 2025: con Joule l'intelligenza artificiale guida app, dati e decisioni SAP Sapphire 2025: con Joule l'intelligenza arti...
Dalle radio a transistor ai Micro LED: il viaggio di Hisense da Qingdao al mondo intero Dalle radio a transistor ai Micro LED: il viaggi...
Meglio un MacBook o un PC portatile con Windows, oggi? Scenari, dubbi e qualche certezza Meglio un MacBook o un PC portatile con Windows,...
realme GT7: un "flaghsip killer" concreto! La recensione realme GT7: un "flaghsip killer" concr...
Una domenica bestiale Amazon: LG OLED, s...
DJI Mini 4 Pro Fly More Combo: drone leg...
realme GT 7T: display da 6000 nit, poten...
Ancora qualche pezzo per il portatile Le...
TV OLED LG Serie C4 2024: immagini da ci...
Smartwatch Amazfit in sconto: Active 2 a...
Router e ripetitori AVM FRITZ! da 30€ su...
Adulting 101: i corsi per imparare come ...
Blue Origin ha lanciato con successo la ...
L'amministrazione Trump ha ritirato la c...
La NASA potrebbe chiudere le missioni OS...
Trump vieta anche la vendita di software...
Le migliori offerte del weekend Amazon: ...
Dreame L40 Ultra a 699€, prezzo shock: v...
AMD Radeon RX 9060 XT: fino al 31% pi&ug...
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: 08:28.


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