Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Videata in Linguaggio c non riuscita

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[11] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto Utenteangrigio » 29 mar 2016, 11:41

Grande simo85.
Hai qualche suggerimento per imparare a programmare bene?
Avatar utente
Foto Utenteangrigio
18 2 7
Frequentatore
Frequentatore
 
Messaggi: 181
Iscritto il: 8 set 2008, 15:44

0
voti

[12] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto Utentesimo85 » 29 mar 2016, 11:57

Oddio .. :mrgreen:
angrigio ha scritto:Hai qualche suggerimento per imparare a programmare bene?

Intendi programmare in generale, o programmare in C ?
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[13] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto UtenteIlGuru » 29 mar 2016, 12:08

angrigio ha scritto:qualche suggerimento per imparare a programmare bene?


Tanto studio, tanto esercizio e leggere tanto codice altrui per imparare a valutarne difetti e pregi.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[14] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto Utenteangrigio » 29 mar 2016, 12:32

Mi interessa il C.
Avatar utente
Foto Utenteangrigio
18 2 7
Frequentatore
Frequentatore
 
Messaggi: 181
Iscritto il: 8 set 2008, 15:44

0
voti

[15] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto Utentesimo85 » 29 mar 2016, 12:46

Se solo ti interessa migliorare la tua esperienza in C, allora devi fare tanta pratica.
Studiare va bene ma devi anche (scusa la ripetizione) fare tanta pratica.
Per la teoria io ho usato il classico K&R ed uno in spagnolo.. Tutto il resto è venuto da sé.. Vale anche il consiglio di Foto UtenteIlGuru.
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

0
voti

[16] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto UtenteAlbertoBianchi » 29 mar 2016, 15:07

Ciao Foto Utenteangrigio,
in C abituati fin da subito a lavorare con i puntatori; anche gli array, essendo aree di memoria contigue, sono spesso manipolati attraverso puntatori (e attraverso l' aritmetica dei puntatori) piuttosto che attraverso vettori ed indici.
Per farti un esempio, ho riscritto le funzioni fillArray e printArray usando i puntatori, così se vuoi puoi prenderlo come spunto per approfondire il tema.
Ho aggiunto qualche riga di commento per renderlo più chiaro (purtroppo nell' inserimento nel post vengono un po' disordinati)
In fillArray ho lasciato il ciclo for sulla variabile 'ì' solo perché deve essere stampata, ma in printArray l'uscita dal loop è fatta confrontando direttamente i puntatori; quello corrente vs quello dell' ultimo elemento dell' array.

Codice: Seleziona tutto
   void fillArray(double *array, size_t size)
    {
      int i = 0;

      printf("Insert value:\n");
      for(i = 0; i < size; i++) {
        printf("%d: ", i);
        scanf("%lf", array++); // prima inserisce il valore alla locazione corrente e
        // dopo incrementa l'indirizzo a cui punta *array
      }
    }

    void printArray(double *array, size_t size)
    {
      double *p_end = array + size - 1;    // puntatore all'ultimo elemento dell'array
      // (considerare che size potrebbe valere 0)
     
      while(array <= p_end)   
        printf("%lf ", *array++);         // prima stampa il valore della locazione
             //corrente e dopo incrementa l'indirizzo a cui punta *array
      printf("\n");           // all'uscita dal loop, l'indirizzo a cui punta *array
                                  // è maggiore di quello a cui punta *p_end
    }

Alberto
La vita è come una bicicletta, devi sempre pedalare per rimanere in equilibrio

Annuncio sempre valido: http://www.electroyou.it/forum/viewtopic.php?f=10&t=62668
Avatar utente
Foto UtenteAlbertoBianchi
2.009 3 5
Master
Master
 
Messaggi: 836
Iscritto il: 4 dic 2014, 18:30
Località: Lastra a Signa (FI)

1
voti

[17] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto UtenteTardoFreak » 29 mar 2016, 17:25

"C - A Reference Manual" è un libro che non puoi non avere. Ti servirà sempre come libro di riferimento.

Lo puoi scaricare da questo link
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[18] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto Utenteangrigio » 29 mar 2016, 18:11

Ho scaricato il testo consigliato.
Ringrazio tutti coloro hanno risposto al mio messaggio O_/ =D>
Avatar utente
Foto Utenteangrigio
18 2 7
Frequentatore
Frequentatore
 
Messaggi: 181
Iscritto il: 8 set 2008, 15:44

0
voti

[19] Re: Videata in Linguaggio c non riuscita

Messaggioda Foto Utenteposta10100 » 29 mar 2016, 19:02

simo85 ha scritto:quando voglio iterare un buffer passat per argomento dentro una funzione, devo conoscerne la dimensione. Non potrei di certo usare la funzione sizeof.

No, non puoi usare la sizeof ma in questo caso avevi la costante già bella pronta da usare.
Però il programmatore esperto scrive sempre funzioni generiche (ovviamente quando ne vale la pena) da poter riutilizzare in altre parti del codice.
simo85 ha scritto: :^o Ma non è vero dai :lol:

Ammetti che non vuoi essere chiamato saggio per non sentirti vecchio :mrgreen:
Che poi sei molto più giovane di me :)

O_/
http://millefori.altervista.org
Tool gratuito per chi sviluppa su millefori.

Tutti sanno che una cosa è impossibile da realizzare, finché arriva uno sprovveduto che non lo sa e la inventa. (A. Einstein)
Se non c'e` un 555 non e` un buon progetto (IsidoroKZ)

Strumento per formule
Avatar utente
Foto Utenteposta10100
5.550 4 10 13
Master EY
Master EY
 
Messaggi: 4832
Iscritto il: 5 nov 2006, 0:09

Precedente

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 27 ospiti