Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare
Realizzato da Lenovo e installato presso il Cineca di Casalecchio di Reno, Pitagora offre circa 44 PFlop/s di potenza di calcolo ed è dedicato alla simulazione della fisica del plasma e allo studio dei materiali avanzati per la fusione, integrandosi nell’ecosistema del Tecnopolo di Bologna come infrastruttura strategica finanziata da EUROfusion e gestita in collaborazione con ENEA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA
Rullo di lavaggio dei pavimenti abbinato a un potente motore da 28.000 Pa e a bracci esterni che si estendono: queste, e molte altre, le caratteristiche tecniche di Z60 Ultra Roller Complete, l'ultimo robot di Mova che pulisce secondo le nostre preferenze oppure lasciando far tutto alla ricca logica di intelligenza artificiale integrata
Renault Twingo E-Tech Electric: che prezzo!
Renault Twingo E-Tech Electric: che prezzo!
Renault annuncia la nuova vettura compatta del segmento A, che strizza l'occhio alla tradizione del modello abbinandovi una motorizzazione completamente elettrica e caratteristiche ideali per i tragitti urbani. Renault Twingo E-Tech Electric punta su abitabilità, per una lunghezza di meno di 3,8 metri, abbinata a un prezzo di lancio senza incentivi di 20.000€
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 15-01-2008, 13:11   #1
l33t_01
Member
 
Iscritto dal: Aug 2006
Messaggi: 55
[C++]Funzioni[noob]

Salve!
Mi potreste spiegare(voi.. o tramite qualche link dal web)
1) Quando è perchè si usa il tipo void?(gli altri tipi, float, int, double mi sono chiari)
2)Come deve essere effettuata la chiamata delle varie funzioni nell' "int main()"?(Mi è chiaro che non bisogna scrivere i tipi nella chiamata di una funzione.. perchè i parametri sono già stati dichiarati...ma ad esempio.. perchè un vettore "float esempio[100]" nella chiamata di funzione viene dichiarato "nomefunzione(esempio)//chiamata di nomefunzione"..è solo una questione di standard o c'è qualche motivo di fondo?)
3)Il prototipo delle funzioni deve essere uguale alla dichiarazione d'intestazione del sottoprogramma(o funzione).. per quanto riguarda la chiamata della funzione contenuta nel programma vero e proprio(int main) c'è qualche "regola ricorrente" a cui attenersi?
P.S:= il corso non prevede la creazione di apposite librerie del tipo "nomelibreria.h"...ecco il motivo dell'utilizzo della chiamata di funzione!?!
Grazie in anticipo per eventuali risposte!
l33t_01 è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2008, 13:23   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
1) per esempio per stampare qualcosa che magari passi alla funzione come parametro.. o ancora magari nel caso dell'inizializzazione di un vettore che passi a una funzione si può usare void..
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2008, 13:31   #3
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da l33t_01 Guarda i messaggi
Salve!
Mi potreste spiegare(voi.. o tramite qualche link dal web)
1) Quando è perchè si usa il tipo void?(gli altri tipi, float, int, double mi sono chiari)
2)Come deve essere effettuata la chiamata delle varie funzioni nell' "int main()"?(Mi è chiaro che non bisogna scrivere i tipi nella chiamata di una funzione.. perchè i parametri sono già stati dichiarati...ma ad esempio.. perchè un vettore "float esempio[100]" nella chiamata di funzione viene dichiarato "nomefunzione(esempio)//chiamata di nomefunzione"..è solo una questione di standard o c'è qualche motivo di fondo?)
3)Il prototipo delle funzioni deve essere uguale alla dichiarazione d'intestazione del sottoprogramma(o funzione).. per quanto riguarda la chiamata della funzione contenuta nel programma vero e proprio(int main) c'è qualche "regola ricorrente" a cui attenersi?
P.S:= il corso non prevede la creazione di apposite librerie del tipo "nomelibreria.h"...ecco il motivo dell'utilizzo della chiamata di funzione!?!
Grazie in anticipo per eventuali risposte!
1) il tipo void si usa quando non intendi passare o ricevere alcun parametro ad/da una funzione.

per chiarirti le idee:

Codice:
// prototipo
void funzione(int parametro);

// corpo della funzione
void funzione(int parametro)
{

}

//chiamata alla funzione
int parametro = 123;
funzione(parametro);
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 15-01-2008, 16:43   #4
IceCoder
Member
 
Iscritto dal: Dec 2007
Messaggi: 121
il tipo void (come indica anche la traduzione dall'inglese) vuol dire "nulla"

quando dichiari una funzione devi usare questa sintassi

TipoResituito [altreSpecifiche] NomeFunzione(argomenti...);

per esempio:

int NumeroCasuale(int max);

indica che la funzione resituirà un valore di tipo int

(Es.: numero = NumeroCasuale(9)

quindi se TipoRestituito è void vuol dire che la funzione non restituirà nulla (di conseguenza si chiama procedura, non funzione).

la chiamata alle funzioni si effettua scrivendo il nome e tra parentesi gli argomenti come da esempio:

Codice:
#include <stdio.h>

int Doppio(int n);
void ScriviLettera(char c);

int main()
{
int num;
num = Doppio(5);
printf("Il doppio del numero inserito è:  %d!\n", num);
ScriviLettera('a');
return 0;
}

int Numero(int n)
{
return n * 2;
}

void ScriviLettera(char c)
{
puts(&c);
return;
}
chiaro?
IceCoder è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Cineca inaugura Pitagora, il supercomputer Lenovo per la ricerca sulla fusione nucleare Cineca inaugura Pitagora, il supercomputer Lenov...
Mova Z60 Ultra Roller Complete: pulisce bene grazie anche all'IA Mova Z60 Ultra Roller Complete: pulisce bene gra...
Renault Twingo E-Tech Electric: che prezzo! Renault Twingo E-Tech Electric: che prezzo!
Il cuore digitale di F1 a Biggin Hill: l'infrastruttura Lenovo dietro la produzione media Il cuore digitale di F1 a Biggin Hill: l'infrast...
DJI Osmo Mobile 8: lo stabilizzatore per smartphone con tracking multiplo e asta telescopica DJI Osmo Mobile 8: lo stabilizzatore per smartph...
Ecco una TV QLED da 55'' che costa 303€:...
Doppia offerta per le soundbar Samsung: ...
Nubia Z80 Ultra con Snapdragon 8 Elite G...
Google Pixel, è svendita di tutti...
Nuovo Tesla Semi: telaio rivisto, fari r...
HONOR 500 Pro, scheda tecnica confermata...
GeForce NOW si prepara a vivere un mese ...
Exynos 2600: temperature più bass...
Apple si ispirerà a Nothing? Back...
Da Intel ad AMD, il grande salto di Kulk...
Velocità 12 volte superiore a que...
Una piccola Morte Nera è gi&agrav...
Sei frodi che minacciano gli utenti nel ...
BioShock 4: Take-Two rassicura sullo svi...
Tesla, Musk promette FSD 'quasi pronto' ...
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: 10:05.


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