Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI.

Podobne prezentacje


Prezentacja na temat: "Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI."— Zapis prezentacji:

1

2 Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI

3 Jerzy F. Kotowski2 Przykład 1 int *Ala[5]; - tablica wskaźników do liczb typu int int (*Ela)[5]; - Wskaźnik do 5-elementowej tablicy liczb typu int, czyli do obiektu, którym jest CAŁA TABLICA Podstawowa różnica to inna arytmetyka, np.: Ela++ - zwiększamy adres o jeden obiekt czyli o 5 liczb typu int Wykorzystanie: int Ala[10][5]; Ela = Ala; l Wniosek: Nazwa tablicy 2-wymiarowej jest adresem do jej zerowego wiersza. Tablice wielowymiarowe to tablice tablic.

4 Jerzy F. Kotowski3 Suma macierzy dwuwymiarowych #define N 2 - definicja stałej #define M 3 - definicja stałej int A[N][M], B[N][M], C[N][M]; - tablice NxM Należy napisać definicję funkcji suma_m, realizującej działanie C=A+B i takiej, że będzie się ją wywoływać przy pomocy instrukcji suma_m(A,B,C);. void suma_m(int (*p)[M],int (*q)[M],int (*r)[M]) { int i,j; for(i=0;i<M;i++) for(j=0;j<M;j++) r[i][j]= p[i][j]+ q[i][j]; } 15_1

5 Jerzy F. Kotowski4 Przykład 2 double (*Ola(double(*)[5]))[5]; Ola jest funkcją, której jedynym argumentem jest adres do 5 elementowej tablicy liczb typu double. Funkcja zwraca adres tego sameo typu. Ciekawostka: (*) Przykład użycia: double Ala[4][5]; - tablica o 5 kolumnach double (*Ela)[5]; - wskaźnik do tablicy 5-elementowej Ela = Ola(Ala); HELP!!!

6 Jerzy F. Kotowski5 Słowo kluczowe typedef cośtamcośtam ident; - Deklaracja obiektu o nazwie ident. Ogólnie - dowolny deklarator (również złożony). typedef cośtamcośtam ident; - definicja typu obiektowego o nazwie ident. Nowa nazwa znanego tworu. P1: typedef unsigned char byte; byte Ala; - Mniej pisania P2: typedef char string[51]; string Ala[10]; - Tablica 2-wymiarowa Ala[7][39]=e; - Oczywiste!! P3: typedef int *w_int; w_int Ela[10]; - Tablica 10 wskaźników

7 Jerzy F. Kotowski6 Przykład 2a double (*Ola(double(*)[5]))[5]; typedef double (*Ula)[5]; - definicja typu Ula Ola1(Ula); - prototyp funkcji l W tej chwili lepiej widać, że argument funkcji i zwracana wartość są obiektami tego samego typu double Ala[4][5]; - tak jak poprzednio double (*Ela)[5]; - tak jak poprzednio ………………………… Ela=Ola1(Ala); - wywołanie funkcji l Wywołanie funkcji IDENTYCZNE tak poprzednio. 15_2

8 Jerzy F. Kotowski7 Argumenty funkcji main Nagłówek funkcji main może mieć postać int main(void) albo int main(int argc, char *argv[]) l Interpretacja argumentów argc - liczba argumentów, z którymi wywołano program *argv[] - adres do tablicy adresów. To samo co **argv Jeżeli argc jest różne od zera to te argumenty są dostępne jako zakończone znakiem \0 napisy w elementach tablicy argv : argv[0], argv[1],…, argv[argc-1] argv[0] - nazwa użyta do wywołania programu argv[argc]==0 (NULL) - gwarancja standardu ANSI

9 Jerzy F. Kotowski8 Przykład 3 Chcemy napisać program, który wydrukuje na ekranie zawartość plików dyskowych o podanej nazwie: drukuj Inf_14_1.cpp Inf_15_2.cpp // program drukuj.cpp void drukowanie(char *s) {…………………………………} void main(int argc, char *argv[]) { int i; for(i=1;i<argc;i++) drukowanie(argv[i]); } napisz

10 Jerzy F. Kotowski9 KONIEC


Pobierz ppt "Jerzy F. Kotowski1 Informatyka I Wykład 15 PIERWSZE KROKI."

Podobne prezentacje


Reklamy Google