Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Forum :: Programmazione.it :: C :: Iterare un array di puntatori a short
Scritto da Loris Stefano a.k.a. javoso89 il 11-02-2012 ore 15:04
Come input ad una funzione ho un array di puntatori
a short null-terminated.

short ** portnumber (sono delle porte, per inviare pacchetti).

Devo inviare dei dati a tutte le porte.

Ovviamente devo iterare ma non so come ci si comporta, vengo dal java e sto odiando i puntatori .-.
  1. while(porta corrente != null) {
  2.     invia messaggio alla coppia (porta,ip);
  3.     incremento condizione nel while
  4. }

Grazie :)
Precedente: sezioni sito web in seguito a ricerca su google
Successiva: Mysql - Connection was implicitly closed by the driver
Intervento di Fabrizio Alonzi a.k.a. fabral09 del 13-02-2012 ore 14:41, Sora (FR)
Cavaliere
Cavaliere

(103 interventi)
Iscritto il 24-06-2004
Ciao ti posto un esempio di codice.
Creo un array di short int e dopo di che inizializzo un
array di puntatori a short int facendolo puntare ad ogni elemento dell'array di numeri ( tutto tramite aritmetica dei puntatori )

#include < stdio.h >
#include < stdlib.h >

int main()
{
short numeri[5] = { 1, 2, 3, 4, 5 };
short * puntatori[5];

int i;

for ( i = 0; i < 5; i++ )
*(puntatori + i) = &numeri;

for ( i = 0; i < 5; i++)
printf ( "%dn", **(puntatori + i));

return 0;
}
Intervento di Fabrizio Alonzi a.k.a. fabral09 del 13-02-2012 ore 14:42, Sora (FR)
Cavaliere
Cavaliere

(103 interventi)
Iscritto il 24-06-2004
Il codice è stato postato in modo errato.

#include < stdio.h >
#include < stdlib.h >

int main()
{
short numeri[5] = { 1, 2, 3, 4, 5 };
short * puntatori [ 5 ];

int i;

for ( i = 0; i < 5; i++ )
*(puntatori + i) = &numeri [ i ];

for ( i = 0; i < 5; i++)
printf ( "%dn", **(puntatori + i));

return 0;
}

Così dovrebbe essere ok. ;)
Intervento di mrcod del 13-02-2012 ore 15:10
Cavaliere
Cavaliere

(103 interventi)
Iscritto il 03-04-2001
int send(short *port)
{
while(*port != 0x00)
{
port++;
}
}
Intervento di Loris Stefano a.k.a. javoso89 del 16-02-2012 ore 16:05, Fossacesia (CH)
Plebeo
Plebeo
(38 interventi)
Iscritto il 21-04-2011
mrcod ha scritto:
int send(short *port)
{
while(*port != 0x00)
{
port++;
}
}

Vi rigrazio :)
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.293 secondi.