1 Pointere, referencer, struct’s mv.. 2 Erklæringer Eksempel på erklæringer int i, *ip, f ( ), *fip( ), (*pfi) ( ); Erklærer en integer, en pointer til.

Slides:



Advertisements
Liknende presentasjoner
Repetisjon innkapsling static tabell av primitiv datatype LC191D Videregående programmering Høgskolen i Sør-Trøndelag, Avdeling for informatikk og e-læring.
Advertisements

Tabeller av objekter Klassen ArrayList
C++ for Java-programmerere
Kompilatorer - Hva foregår under panseret? BEKK fagdag
Uke 10 - Sortering, og hvordan lage en klasse for et klassebibliotek 21 okt. 2003, Arne Maus Inst. for informatikk, UiO.
1 Java 6 Mer om metoder Tekster Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo.
Høgskolen i Oslo Webprogrammering Introduksjon til Java-scripting.
Java 12 Mer filbehandling - skrive til fil HashMap Et større eksempel Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Java 4 Mer om forgreninger While-løkker Ole Christian Lingjærde
Objekt, Instanser og referanser + litt til. Objekter  Instanser  En instans er et objekt av en bestemt klasse  Instanser blir laget ved å kalle klassens.
Java 14 Et eksempel fra bioinformatikk: analyse av biologiske sekvenser Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet.
Programmering i Java versjon august 2004 Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else.
#include Ligner litt på import i java. Setter inn hele fila stdio.h i programteksten. Definerer en del io funksjoner slik at signaturen er kjent. I dette.
C for Java-programmerere
Eiendomregister mars 2002 Arne Maus. import java.util.*; import inf101.*; /* Klasse med main() som starter hele programmet */ class EiendomsregisterMain.
C# for javaprogrammerere
Krasjkurs i C (pluss litt matlab)
En gang til!? .
INF150 Programmering mandag 11.9
Objekt Orientert Programmering (OOP). Objektorientering (OO)1/6 Objektorientering er en grunnleggende måte å organisere komplekse fenomener på.
Repetisjon av JSP Variabler, tabeller, if-setninger, for/while-løkker
std::basic_string En oversikt over C++ Standard bibliotekets streng-klasse.
1 Arrayer og form(ularer) (Kapittel 4). 2 Mål  Forstå assosiative og superglobale arrays  Kunne behandle webformularer (forms)  Kjenne forskjellen.
Uke 7 - del I: Repetisjon del II: Objekter, klasser og pekere 30 sept. 2003, Arne Maus Inst. for informatikk, UiO.
Java 3 Mer om uttrykk Terminal I/O Forgreninger
Java 11 Programmering med og uten objekter: hva er forskjellen?
1 Kap 06 Ordnede / Sorterte lister Oppgave nr 06_02 Polynomer Klassehierarki Javadokumentasjon.
02 - Java datatyper Grundlæggende om datatyper og variable.
Tabeller Dette er en tabell, eller array. Den kan defineres sånn som dette: public int[] heltallsTabell = new int[11]; //Her er 11 tabellens lengde for.
INF1000 (Uke 14) Resten av eksamen H03 + del av V05 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B.
Objekt, Instanser og referanser + litt til. Objekter  Instanser  Kan sees på som det samme. Personen Per kan være både et objekt og en instans av klassen.
Indledende Datalogi /kelk 1 Need to know Løkker Klasser, instanser og Objekter Hvorfor objektorientering? Scope – hvor erklæres en variabel? ”Access Modifiers”
INF Objektorientert programmering
Compiler/fortolker struktur Mellem- kode Kode- generering Kode- optimering Lexikalsk- analyse Syntax- analyse Semantik- analyse if viggo == 3 then....
INF1000 (Uke 14) Eksamen V06 Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Arild Waaler.
Byggeklosser i java  Klassedefinisjon  Variabel deklarasjon  Metodedeklarasjoner  En ordentlig klasse  Spesielle/kryptiske skrivemåter  løkker og.
1 Input og output mv.. 2 printf int printf(char *format, arg1, arg2, …, argn) returnerer antal udskrevne tegn Format indeholder to typer objekter: almindelige.
INF1000 (Uke 4) Mer om forgreninger, While-løkker
Inf1000 (Uke 5) Arrayer, filer og tekst
Typeparametrisering Generel kode (generisk kode).
DILEMMA, DRIVKREFTER OG BARRIERER
Are Raklev Teoretisk fysikk, rom FØ456,
Forelesning 9 Are Raklev.
Are Raklev Teoretisk fysikk, rom FØ456,
Forelesning 4 Are Raklev.
Den epigenetiske klokken
Arbeidsgiver skal utføre risikovurdering.
Forelesning 5: Dopplereffekten Relativitetsteori Partikkelfysikk
Nye Bildrivstoff Rotary Skien Nye Bildrivstoff Rotary Skien
Are Raklev Teoretisk fysikk, rom FØ456,
Program Frokost serveres Velkommen og introduksjon til dagens tema Heidi Pedersen, Stipendiat, NTNU Svein Bergem, Stipendiat, Nasjonal kompetansetjeneste.
Retorikk.
Forelesning 8 Are Raklev.
De indre planetene og månen – del 2:
Matematikk i skole og lærerutdanning
SAB Arbeidsgruppe 4 – organisasjons- og beslutningsstruktur
Ungdomstrinn i utvikling på Volda ungdomsskule
Bransjeforum for handel, service, kultur og reiseliv
Are Raklev Teoretisk fysikk, rom FØ456,
Lecture 10.
Triks Avslutt alle klasser, metoder og løkker samtidig som du lager dem. Deklarer alle variablene/referansene på begynnelsen av klassen. Hvis du definerer.
IS-102 Interaksjon med objekter
BilSalg klassedatastruktur Bil klassedatastruktur
Quiz – Uge 5 – mandag – første time
CMPE 152: Compiler Design April 23 Class Meeting
Database.
BilSalg klassedatastruktur Bil klassedatastruktur
ALL vectors have two components (x and y)
Utskrift av presentasjonen:

1 Pointere, referencer, struct’s mv.

2 Erklæringer Eksempel på erklæringer int i, *ip, f ( ), *fip( ), (*pfi) ( ); Erklærer en integer, en pointer til en integer, en funktion, der returnerer en integer en pointer til en funktion der returnerer en integer

3 Erklæringer static: variablen deallokeres ikke når funktionen forlades extern: funktionen eller variablen er erklæret i et andet program C-strenge ender med et ’\0’ tegn C-strenge printes med et %s i printf

4 SWAP Call by reference void swap(int *px, int *py) { int temp; temp = *px; *px = *py; *py = temp; } kaldes swap (&a, &b);

5 SWAP Call by value void swap(int x, int y) { /* virker ikke */ int temp; temp = x; x = y; y = temp; }

6 Pointere char *y; char x[100]; y is of type pointer to character (although it doesn't yet point anywhere). We can make y point to an element of x by either of y = &x[0]; y = x; Since x is the address of x[0] this is legal and consistent. Now `*y' gives x[0]. More importantly, *(y+1) gives x[1] *(y+i) gives x[i] and the sequence y = &x[0]; y++; leaves y pointing at x[1].

7 Finde længden på et char array Uden pointere: length(char s[ ]) { int n; for( n=0; s[n] != '\0'; ) n++; return(n); }

8 Finde længden på et char array Med pointere length(char *s) { int n; for( n=0; *s != '\0'; s++ ) n++; return(n); }

9 Sammenligning af strenge Returnerer 0 hvis strengene er ens ellers returneres > 0 int strcompare(char *s, char *t, int lng) { while(*t++ == *s++ && lng-- > 0); return lng; }

10 Visning af argumenter fra kommandolinjen int main(int argc, char *argv[]) { int i; char *arg1; char arg2[30]; for (i = 0; i < argc; i++){ printf("argument %d = %s\n", i, argv[i]); arg1 = argv[i]; printf("argument %d = %s\n", i, arg1); strcpy(arg2, argv[i]); printf("argument %d = %s\n", i, arg2); }

11 argc argv prog [-abc] arg1 arg2 main(int argc; char **argv) { int aflag = bflag = cflag = 0; if( argc > 1 && argv[1][0] == '-' ) { for( i=1; (c=argv[1][i]) != '\0'; i++ ) if( c=='a' ) aflag++; else if( c=='b' ) bflag++; else if( c=='c' ) cflag++; else printf("%c?\n", c); --argc; ++argv; }

12 Malloc og free Allokering af lager #include void *malloc(size_t size); Frigivelse af lager #include void free(void *ptr);

13 Struct (1) I c har man mulighed for at samle data i en struktur struct point { int x; int y; } // definere en struct, men erklærer intet struct point pt1, pt2; // erklærer to struct af typen point

14 Struct (2) struct { char navn[20]; int alder; } p1, p2; //definerer og erklærer p1 og p2 Der refereres til de enkelte medlem som følger: strukturnavn.medlem struct person p3 ={”Ole”, 5}; // erklærer og initierer

15 Struct (3) struct’s kan bruges som alle andre variable inclusiv i arrays Størrelse af en struktur sizeof p1 // sizeof element sizeof(person) // sizeof(typenavn)

16 Struct (4) Pointere til strukturer struct person *p3; // erklæring af en pointer til person strukturen Reference til et medlem (*p3).alder eller p3->alder. *p3.alder = *(p3.alder) og dette er ikke legalt da alder ikke er en pointer. *(p3->navn) er 1. tegn i navn

17 Typedef (1) typedef int Length // Length er synonym for int typedef char* String // String er synonym for char* Length bredde; // det samme som int bredde; String p; // det samme som char* p;

18 Typedef (2) typedef struct tnode *Treeprt; typedef struct tnode { int vaerdi; Treeprt left; Treeprt right; } Treenode; int main() { Treenode t; Treeprt head; }