CREARE UNA LIBRERIA IN C
|
|
|
- Gioacchino Lamberti
- 9 anni fa
- Visualizzazioni
Transcript
1 CREARE UNA LIBRERIA IN C Prima di cominciare a vedere come fare una libreria, dobbiamo capire di cosa abbiamo bisogno... di un file.h che sarà l'header della libreria (ovvero il file che conterrà i prototipi delle funzioni della libreria e la definizione dei tipi che l'utente che utilizzerà la libreria potrà usare). di un file.c che sarà il body della libreria (ovvero conterrà il corpo delle funzioni e la definizione dei tipi base usati dalla funzioni). Detto questo, passiamo ad alcune considerazioni prima di vedere la creazione di una vera e propria libreria... avendo un file.h in cui si definiscono i tipi e i prototipi, possiamo usare ciò per definire un tipo particolare che a variazione della sua definizione può essere int, char, string o qualsiasi altra cosa... vediamo come. Per prima cosa, creiamo il nostro file.h: //item.h typedef struct item* Item; int equals(item x, Item y); int compareto(item x, Item y); Item readitem(); void printitem(item i); Questo file chiamato item.h come vedete contiene alcuni metodi per la lettura dei suoi dati, la stampa di essi e il loro confronto. Il tipo Item è definito attraverso un typedef di un puntatore di una struttura chiamata struct item. Ma cosa sarà lo struct item per noi? Grazie proprio a questa non conoscenza possiamo produrre più body per il file.h, così da avere più definizioni per il tipo di struct item, ma una sola per l'header, e quindi tutti coloro che vorranno usare l'oggetto Item non dovranno riscrivere più volte il loro codice cliente (ovvero il programma che userà la libreria), ma semplicemente decidere quale definizione di Item usare durante la compilazione. Giusto per fare vedere due esempi, ecco qui due body per la libreria item: Item-string.c #include <stdio.h> #include <string.h> struct item char* value; ; int equals(item x, Item y) return (strcmp(x >value, y Item-int.c #include <stdio.h> struct item int value; ; int equals(item x, Item y) int a,b;
2 >value)==0); a=x >value; b=y >value; return a==b; int compareto(item x, Item y) return strcmp(x >value, y >value); int compareto(item x, Item y) int a,b; a=x >value; b=y >value; if(a>b) return 1; else if(a==b) return 0; else return 1; Item readitem() Item i = malloc(sizeof(struct item)); char string[512]; char* ns; printf("insert value to read: "); gets(string); Item readitem() Item i = malloc(sizeof(struct item)); int n; printf("insert value to read: "); scanf("%d", &n); i >value=n; ns=calloc(strlen(string),sizeof( char)); strcpy(ns, string); i >value=ns; return i; return i; void printitem(item i) printf("value of item: %s \n", i >value); void printitem(item i) printf("value of item: %d \n", i >value); Come potete vedere dal corpo di queste due funzioni, entrambe hanno nel loro codice ciò: #include item.h Cosa significa ciò? Significa durante la compilazione, portati dentro le definizioni di tipi e funzioni dentro il file item.h. L'uso dei doppi apici si riferisce che il file item.h si trova nella stessa directory del vostro file.
3 Ora che abbiamo sia i body che l'header possiamo creare la nostra libreria... ma come? Con il comando ar. Assicurandovi che il item.h e i due item-*.c siano nella stessa directory date i seguenti comandi da terminale: $ gcc c item int.c $ ar ruv item int.a item int.o $ gcc c item string.c $ ar ruv item string.a item string.o Ora dovreste avere nella vostra directory 2 archivi chiamati item-int.a e item-string.a. Questi due archivi sono puro file binario che potrete distribuire insieme ai vostri file.h come librerie c compatibili col sistema architetturale in cui sono state compilate (x86-32bit, x86-64bit, PowerPC, ARM, etc..). Ora vi chiederete.. e dunque? Qual'è l'utilità di ciò? Per ora non si vede, ma andiamo avanti... vediamo ora di voler creare ora una libreria che gestisce uno stack di Item. Perché di Item e non di int? Perché quando l'utente che userà la libreria dello stack potrà autonomamente scegliere se usare la libreria che legge interi o stringhe, il tutto modificando solo il codice del proprio programma! (In questo modo le nostre librerie saranno autonome dal resto del programma, e quindi ri-utilizzabili in molteplici contesti). Bado alle ciance, e vediamo per prima cosa il nostro file.h //astrostack.h typedef struct stack* AstroStack; AstroStack initstack(); int stackempty(astrostack s); void push(astrostack s, Item elem); Item pop(astrostack s); Item top(astrostack s); int size(astrostack s); In maniera identica come prima, definiamo i tipi e i prototipi delle funzioni che vogliamo che l'utente a cui distribuiamo tutto ciò possa utilizzare nel proprio programma. Passiamo alla definizione del body... //astrostack.c #include "astrostack.h" typedef struct node Item info; struct node* next; Node; typedef Node* List; struct stack
4 ; List contents; int size; AstroStack initstack() AstroStack s; s = malloc(sizeof(struct stack)); s >contents = NULL; s >size=0; return s; int stackempty(astrostack s) return s >contents == NULL; void push(astrostack s, Item elem) List l = malloc(sizeof(node)); l >info = elem; l >next = s > contents; s >contents = l; s >size=(s >size)+1; Item pop(astrostack s) List old = s >contents; Item elem = old >info; s >contents = old >next; s >size=(s >size) 1; free(old); return elem; Item top(astrostack s) Item elem = (s >contents) >info; return elem; int size(astrostack s) return s >size; Come potete vedere, la definizione del nostro stack non vincolata in alcun modo al tipo di configurazione di Item, ma solo al suo header...
5 Quindi, come già fatto prima, diamo i comandi per creare l'archivio... $ gcc c astrostack.c $ ar ruv astrostack.a astrostack.o Ora abbiamo due librerie... una per gli Item e una per lo stack... creiamoci un file test.c per fare alcuni test su di esse.. //test.c #include <stdio.h> #include "astrostack.h" int main(int argc, char **argv) Item i3 = readitem(); Item i5 = readitem(); Item i7 = readitem(); Item p4; AstroStack s = initstack(); printf("inizializzazione stack...ok\npush del 3 valore inserito...\n"); push(s,i7); printf("push del 2 valore inserito...\n"); push(s,i5); printf("push del 1 valore inserito...\n"); push(s,i3); int lung = size(s); printf("lunghezza dello stack dopo 3 push... %d \n", lung); printf("pop del valore in testa...\n"); p4 = pop(s); printitem(p4); printf("pop del valore in testa...\n"); p4 = pop(s); printitem(p4); printf("pop del valore in testa...\n"); p4 = pop(s); printitem(p4); lung =size(s); printf("lunghezza dello stack dopo 3 pop... %d \n", lung); return 0; Come potete vedere, anche il nostro test.c è completamente svincolato dal tipo di configurazione di Item. Per compilare il nostro programma ci basta dare il seguente comando: $ gcc test.c o test item int.a astrostack.a
6 Ed ecco qui il risultato.. $./test Insert value to read: 1 Insert value to read: 2 Insert value to read: 3 Inizializzazione stack...ok Push del 3 valore inserito... Push del 2 valore inserito... Push del 1 valore inserito... Lunghezza dello stack dopo 3 push... 3 Pop del valore in testa... Value of item: 1 Pop del valore in testa... Value of item: 2 Pop del valore in testa... Value of item: 3 Lunghezza dello stack dopo 3 pop... 0 $ Provate a cambiare item-int.a con item-string.a, e vedrete che il programma continuerà a funzionare perfettamente. Riassumendo... per creare una libreria avete bisogno di: il file.h con la dichiarazione dei tipi e dei prototipi delle funzioni il file.c con il corpo delle funzioni e dei tipi utilizzati dalle funzioni (con l'include del file.h) Dunque, create un archivio.a contenente Il file.o del body della libreria. Fatto questo potete distribuire la vostra libreria, ovvero distribuendo il file.h con il suo file.a. È possibile mettere più file.o dentro l'archivio, ovviamente ricordatevi di distribuire tutti i vari file.h necessari. Nel programma basterà includere la libreria.h. Se la libreria non si trova nella stessa path del vostro file, vi ricordo che potete specificarla voi. Per esempio: #include headers/header.h Potete creare un unico eseguibile anche usando direttamente i file.o, per esempio con i file.o generati precedentemente possiamo fare: $ gcc o eseguibile test.o item int.o astrostack.o Questo è tutto! Buona programmazione C! Autore: Borsato Claudio
2. Spiegare brevemente qual è la funzione del compilatore e la sua importanza per il programmatore.
1 Esercizio 1 1. Immaginate di avere una calcolatore che invece che poter rappresentare i classici due valori per ogni bit (0/1) possa rappresentare 7 valori per ogni bit. (a) Quanti bit gli occorreranno
Office 2007 Lezione 08
Word: gli stili veloci e i temi Da questa lezione, iniziamo ad occuparci delle innovazioni che riguardano specificamente Word. Cominceremo parlando di stili e temi. Nella filosofia di questo nuovo Word,
Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)
Formattazione. ü Introduzione
Formattazione ü Introduzione Abbiamo fatto un bel po' di lavoro con Mathematica, vero? Abbiamo visto come creare, valutare, semplificare, disegnare, programmare, cucinare, pescare, ed anche come sfilare
Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress
Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk
dall argomento argomento della malloc()
Allocazione dinamica Quando? Tutte le volte in cui i dati possono crescere in modo non prevedibile staticamente a tempo di sviluppo Un array con dimensione i fissata a compile-time non è sufficiente È
Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014
Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono
[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina
[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina Creare cartelle per salvare il lavoro] Per iniziare dobbiamo imparare a gestire quello spazio bianco che diverrà la
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Politecnico di Torino
Politecnico di Torino INFORMATICA II Esame del 19 Luglio 2008 1. Realizzare un programma in linguaggio C per evidenziare le variazioni percentuali di un insieme di azioni quotate in borsa. In un file di
POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:
Outlook parte 1 POSTA ELETTRONICA La posta elettronica è un innovazione utilissima offerta da Internet. E possibile infatti al costo di una telefonata urbana (cioè del collegamento telefonico al nostro
Lezione 10: Librerie e compilazione separata
Lezione 10: Librerie e compilazione separata Laboratorio di Elementi di Architettura e Sistemi Operativi 16 Maggio 2012 Calendario della parte finale del corso Mer 23 Maggio ultima lezione sul C Gio 24
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)
PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0) (Da effettuare non prima del 01/01/2011) Le istruzioni si basano su un azienda che ha circa 1000 articoli, che utilizza l ultimo
Come realizzare i disegni in Autocad partendo da un immagine
Come realizzare i disegni in Autocad partendo da un immagine L obbiettivo di questo articolo, è quello di poter avere a disposizione le linee di costruzione in qualsiasi scala, senza dover fare decine
Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
Guida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero
TRUCCHI PER GIMP - Elemento a colori in foto bianco e nero Salve Prof. Cantaro come promesso le mando un altro articolo da poter inserire nelle sue guide. Questa volta però a differenza dell'ultima,ho
Vlan Relazione di Sistemi e Reti Cenni teorici
Cosa sono le Vlan? Vlan Relazione di Sistemi e Reti Cenni teorici Le Vlan sono un tipo di rete particolare che permettono di creare tante reti logiche a partire da una singola rete fisica. Questo significa
ARCHIVING PapER. Con BvLArchivio avete la possibilità di archiviare documenti cartacei in modo manuale o automatizzato.
Archiviare carta Digital Archiving ARCHIVING PapER Con BvLArchivio avete la possibilità di archiviare documenti cartacei in modo manuale o automatizzato. Entrambi i procedimenti sono possibili in BvLArchivio,
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Office 2007 Lezione 09. Contenuto riutilizzabile
Word: Contenuto riutilizzabile Contenuto riutilizzabile Già nelle versioni precedenti di Word era possibile salvare dei contenuti pronti per riutilizzarli successivamente, in questa nuova versione questa
Tutorial: Stratificazioni dei muri in Revit Architecture
Tutorial: Stratificazioni dei muri in Revit Architecture Preparato da: Giovanni D Ambrosio http://laboratoriorevit.blogspot.com Ogni tipologia di Muri, può essere rappresentata a livello di dettaglio Basso
LEZIONE 6. Sommario LEZIONE 6 CORSO DI COMPUTER PER SOCI CURIOSI
1 LEZIONE 6 Sommario SESTA LEZIONE... 2 FACCIAMO IL PUNTO DELLA SITUAZIONE... 2 POSTA IN ARRIVO... 3 LEGGERE UN MESSAGGIO... 4 SCRIVERE UN MESSAGGIO... 4 SCRIVIAMO!... 5 RISPONDIAMO!... 5 SESTA LEZIONE
Introduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
ASSOCIAZIONE ANFFAS ONLUS UDINE. presenta LA NOSTRA VISION. Questo documento è in versione facile da leggere
ASSOCIAZIONE ANFFAS ONLUS UDINE presenta LA NOSTRA VISION Questo documento è in versione facile da leggere - Michele Bertotti - Chiara Billo - Elena Casarsa - Anna Latargia - Lucrezia Pittolo - Erika Pontelli
Guida all uso delle Web View su ios
Guida all uso delle Web View su ios Tesina per il corso di Programmazione di Sistemi Mobile Lorenzo Pellegrini Matricola: 0000653299 Cosa sono le Web View? Le web view sono componenti grafiche, integrabili
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console
Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console Il compilatore per i linguaggi c e c++ chiamato lcc-win32 è un prodotto gratuito scaricabile dal sito http://www.cs.virginia.edu/~lcc-win32/
MANUALE PARCELLA FACILE PLUS INDICE
MANUALE PARCELLA FACILE PLUS INDICE Gestione Archivi 2 Configurazioni iniziali 3 Anagrafiche 4 Creazione prestazioni e distinta base 7 Documenti 9 Agenda lavori 12 Statistiche 13 GESTIONE ARCHIVI Nella
UN TOPO SFUGGENTE. CoderDOJO su Javascript - Trento. Augusto Ciuffoletti. 26 maggio 2015
UN TOPO SFUGGENTE CoderDOJO su Javascript - Trento Augusto Ciuffoletti 26 maggio 2015 Un topo nella pagina Il tuo browser (quello che usi per navigare) può leggere un file del tuo computer, e mostrarti
TUTORIAL REGISTRO ELETTRONICO NUVOLA
TUTORIAL REGISTRO ELETTRONICO NUVOLA Gasbarro Margherita INTRODUZIONE MODALITA' OPERATIVE La ditta produttrice del registro elettronico garantisce che tutto funziona bene se la navigazione viene effettuata
DOCUMENTO ESPLICATIVO
DOCUMENTO ESPLICATIVO Modificare il proprio sito con Web designer Digitate il vostro username e password e compariranno tre tasti: AREA RISERVATA, WEB DESIGNER e LOGOUT Cliccate sul tasto WEB DESIGNER
www.filoweb.it STAMPA UNIONE DI WORD
STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere
La struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
Laboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Prof. Aniello Murano Implementazioni di Liste Doppiamente Puntate e Circolari Corso di Laurea Codice insegnamento Email docente Anno accademico Informatica 13917
Compito di Fondamenti di Informatica
Compito di Fondamenti di Informatica In un magazzino viene utilizzato un archivio informatico, nel quale vengono memorizzate le informazioni relative ai prodotti contenuti nel magazzino e che ne permette
COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015
COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO. 2015 e PARAMETRI2015 Vicenza, 3 giugno 2015 Gentile cliente, si ricorda che a partire dall aggiornamento PROFIS 2011.1 è stato automatizzato
I puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012
Fondamenti di informatica Oggetti e Java ottobre 2012 1 JUnit JUnit è uno strumento per assistere il programmatore Java nel testing JUnit consente di scrivere test di oggetti e classi Java i test sono
File, Modifica, Visualizza, Strumenti, Messaggio
Guida installare account in Outlook Express Introduzione Questa guida riguarda di sicuro uno dei programmi maggiormente usati oggi: il client di posta elettronica. Tutti, ormai, siamo abituati a ricevere
Gli SmartArt. Office 2007 Lezione 05
Gli SmartArt SmartArt Gli SmartArt rappresentano una delle principali novità di Microsoft Office 2007: si trattano di grafiche intelligenti che vi permettono di realizzare diagrammi, schemi, diagrammi
void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }
FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo
COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE
COME ELIMINARE PARTI DEL TEMPLATE IN PAGINE SINGOLE Con questa guida impareremo come eliminare delle singole zone del template che utilizziamo all'interno di una pagina specifica. Questo metodo torna utile
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015. Indice
LABORATORIO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2014 2015 15.V.2015 VINCENZO MARRA Indice Parte 1. Input/Output standard dalla console 2 Esercizio 1 2 Eco
Realizzazione di una classe con un associazione
Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe
Versione 7.0 Taglie e Colori. Negozio Facile
Versione 7.0 Taglie e Colori Negozio Facile Negozio Facile: Gestione taglie e colori Il concetto di base dal quale siamo partiti è che ogni variante taglia/colore sia un articolo a se stante. Partendo
GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C
GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.
Al telefono: Come ottenere informazioni.senza chiederle!
Al telefono: Come ottenere informazioni.senza chiederle! Pagina 1 Sommario Sorridi, stai lavorando!... 3 Obiezioni del cliente? Nessun problema... 4 Come fare colpo sul cliente... 5 Come fissare un appuntamento...
Procedura per creare un archivio storico locale nelle 24 ore giornaliere
Procedura per creare un archivio storico locale nelle 24 ore giornaliere La seguente procedura ha lo scopo di illustrare il metodo di creazione di un archivio storico fotografico nell arco delle 24 ore
SIMULAZIONE CIRCUITI LOGICI CON LOGISIM
SIMULAZIONE CIRCUITI LOGICI CON LOGISIM Introduzione In questo articolo spiegherò come è possibile simulare i circuiti spiegati a lezione di architettura degli elaboratori (= Calcolatori Elettronici per
DOCUMENTO ESPLICATIVO
DOCUMENTO ESPLICATIVO Modificare il proprio menu con Web designer - CATEGORIA MENU Digitate il vostro username e password, vedrete comparire tre tasti: AREA RISERVATA, WEB DESIGNER e LOGOUT ( vedi foto
<?php include './include/page.php';
Il modulo di inserimento Per creare il modulo di inserimento creeremo due file per semplicità: insert.php sarà il file contenente il form dove inserire i dati. Premendo infine il pulsante inserisci si
Indirizzo di una funzione. Puntatori a funzioni. Definizione di variabili. Definizione di variabili
Indirizzo di una funzione 2 Puntatori a funzioni Ver. 2.4 Si può chiamare una funzione utilizzando l indirizzo di memoria dal quale inizia il codice eseguibile della funzione stessa L indirizzo di memoria
Definizione di nuovi tipi in C
Definizione di nuovi tipi in C typedef Ancora sui tipi di dato Ogni elaboratore è intrinsecamente capace di trattare domini di dati di tipi primitivi numeri naturali, interi, reali caratteri e stringhe
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
Equilibrio bayesiano perfetto. Giochi di segnalazione
Equilibrio bayesiano perfetto. Giochi di segnalazione Appunti a cura di Stefano Moretti, Silvia VILLA e Fioravante PATRONE versione del 26 maggio 2006 Indice 1 Equilibrio bayesiano perfetto 2 2 Giochi
ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)
ISTRUZIONI XCODE Autore: Luca Florio (luca.floriopolimi.it) XCode è l ambiente di sviluppo fornito da Apple che permette la creazione di applicazioni OSX e iphone. In questa guida vedremo come installarlo
Esercizio: gestione di un conto corrente
Esercizio: gestione di un conto corrente Si realizzi un conto corrente bancario mediante: - una ASTRAZIONE DI DATO - un TIPO DI DATO ASTRATTO Il conto corrente è caratterizzato dalle seguenti informazioni:
Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
Librerie. Laboratorio di Informatica Antonio Monteleone 28
Librerie Una libreria è una collezione di funzioni (classi, variabili) usata per sviluppare applicazioni. Le funzioni (classi, variabili) contenute in una libreria si dicono da questa esportate. L'uso
Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};
ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca
Joomla: Come installarlo e come usarlo. A cura di
Joomla: Come installarlo e come usarlo. A cura di In questa dispensa andremo a vedere come si installa joomla sul noto software xampp e come viene usato per creare siti web dinamici. Tecnol earn Firmato
GUIDA AI COLLEGAMENTI COME VEDERE IL DIGITALE TERRESTRE
GUIDA AI COLLEGAMENTI COME VEDERE IL DIGITALE TERRESTRE Caso 1 Tv con decoder integrato In questo caso la connessione è semplicissima. 1. Collegare il cavo antenna dalla presa muro al televisore 2. Premere
Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
http://www.programmiamo.altervista.org/c/oop/o...
PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.
Come e quanto si guadagna con Human Support International?
PIANO MARKETING Come e quanto si guadagna con Human Support International? Il piano marketing di HSI è veramente fantastico, un business che offre vari prodotti tecnologici, uno tra i più potenti sistemi
Fondamenti di Informatica 2
Fondamenti di Informatica 2 della prova scritta del 28 Febbraio 2006 Esercizio 1 (4 punti) Date le seguenti variabili int A[] = 2,3,7,-2,5,8,-4; int N = 7; int min = 3; int i; Scrivere la porzione di codice
LISTE, INSIEMI, ALBERI E RICORSIONE
LISTE, INSIEMI, ALBERI E RICORSIONE Settimo Laboratorio LISTE E RICORSIONE SVUOTALISTA: CONSIDERAZIONI Per svuotare una lista si devono eliminare i singoli nodi allocati con la malloc... Come fare? Per
COME UTILIZZARE ARCHIVE-HOST
COME UTILIZZARE ARCHIVE-HOST Quando si costruisce un sito internet, può risultare utile avere a disposizione nella rete dello spazio di memoria personale in cui andare a caricare i files più disparati
Centro Iniziative Sociali Municipio III
Centro Iniziative Sociali Municipio III C.I.S Municipio III Corso di informatca Roberto Borgheresi C ORSO BASE DI I NFORMATICA Centro Iniziative Sociali Municipio III Coordinatore: Roberto Borgheresi Insegnanti:
Convertitori numerici in Excel
ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel
Teoria delle code. Sistemi stazionari: M/M/1 M/M/1/K M/M/S
Teoria delle code Sistemi stazionari: M/M/1 M/M/1/K M/M/S Fabio Giammarinaro 04/03/2008 Sommario INTRODUZIONE... 3 Formule generali di e... 3 Leggi di Little... 3 Cosa cerchiamo... 3 Legame tra N e le
strutturare dati e codice
Puntatori e passaggio parametri strutturare dati e codice Tipo di dati int * Pi ; Op. dereferenziazione j = *Pi ; Op. indirizzo Pi = &i ; By value int f(int i) ; a = f(b) ; By address int f(int * Pi) ;
Introduzione a ROOT. 1. Informazioni generali
Introduzione a ROOT 1. Informazioni generali ROOT è un ambiente visualizzazione e trattamento dati interattivo sviluppato al CERN (si veda il sito ufficiale http://root.cern.ch interamente sviluppato in
2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato.-3 -- Finestra attiva o nuovo documento
1 Fortino Lugi STAMPA UNIONE OFFICE 2000 Vi sarà capitato sicuramente di ricevere lettere pubblicitarie indirizzate personalmente a voi; ovviamente quelle missive non sono state scritte a mano, ma utilizzando
Olga Scotti. Basi di Informatica. File e cartelle
Basi di Informatica File e cartelle I file Tutte le informazioni contenute nel disco fisso (memoria permanente del computer che non si perde neanche quando togliamo la corrente) del computer sono raccolte
ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE
ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE PREMESSA La presente guida è da considerarsi come aiuto per l utente per l installazione e configurazione di Atollo Backup. La guida non vuole approfondire
AVVIO ANNO. Dalla base dati EDT alla base dati PRONOTE. L essenziale da sapere per affrontare un nuovo. Preparare i dati per PRONOTE
L essenziale da sapere per affrontare un nuovo AVVIO ANNO Dalla base dati alla base dati PRONOTE Preparare i dati per PRONOTE 1. Attribuire manualmente o automaticamente gli alunni ai loro gruppi. 2. Una
Alla scoperta della nuova interfaccia di Office 2010
Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia
Programmazione I - Laboratorio
Programmazione I - Laboratorio Esercitazione 2 - Funzioni Gianluca Mezzetti 1 Paolo Milazzo 2 1. Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ mezzetti mezzetti di.unipi.it 2.
MOCA. Modulo Candidatura. http://www.federscacchi.it/moca. [email protected]. [Manuale versione 1.0 marzo 2013]
MOCA Modulo Candidatura http://www.federscacchi.it/moca [email protected] [Manuale versione 1.0 marzo 2013] 1/12 MOCA in breve MOCA è una funzionalità del sito web della FSI che permette di inserire
MODULO 5 ACCESS Basi di dati. Lezione 4
MODULO 5 ACCESS Basi di dati Lezione 4 ARGOMENTI Lezione 4 Filtrare i dati Esempio 1 Query Cos è Creare Query in visualizza struttura Criteri di ricerca Esempio 2 Esempio 3 Esempio 4 Creare Query in creazione
IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico)
IL METODO PER IMPOSTARE E RISOLVERE I PROBLEMI DI FISICA (NB non ha nulla a che vedere con il metodo scientifico) [nota: Nel testo sono riportate tra virgolette alcune domande che insegnanti e studenti
Modulo didattico sulla misura di grandezze fisiche: la lunghezza
Modulo didattico sulla misura di grandezze fisiche: la lunghezza Lezione 1: Cosa significa confrontare due lunghezze? Attività n 1 DOMANDA N 1 : Nel vostro gruppo qual è la matita più lunga? DOMANDA N
Introduzione al Linguaggio C
Introduzione al Linguaggio C File I/O Daniele Pighin April 2009 Daniele Pighin Introduzione al Linguaggio C 1/15 Outline File e dati Accesso ai file File I/O Daniele Pighin Introduzione al Linguaggio C
2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso
2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi
Acquistabile nella versione speciale Freud in aggiunta al contratto di cascading Freud o direttamente dal sito www.quasarud.it
Programma Trasmittanza Termica per i serramenti in legno Un modo semplice e rapido per ottenere tutta la documentazione relativa alla marcatura CE e alla trasmittanza termica per singola commessa Acquistabile
App-V Dynamic Suite Composition
App-V Dynamic Suite Composition di Nicola Ferrini MCT MCSA MCSE MCTS MCITP Introduzione Con Microsoft Application Virtualization 4.5 è possibile utilizzare la Dynamic Suite Composition, cioè definire un
Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra
4.5 Stampa 4.5.1 Stampare semplici fogli elettronici 4.5.1.1 Usare le opzioni di base della stampa Per effettuare la stampa di una cartella di lavoro si accede al comando Stampa dal menu File o si utilizza
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.
NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT. Con l utilizzo delle procedure di iscrizione on line la società organizzatrice ha a disposizione tutti
