Informatyka - strona 13

Kurs programowania w C cz. 107

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 7
Wyświetleń: 441

WSKAŹNIKI NA FUNKCJE 123 Można także zastosować bardziej oszczędny sposób alokowania tablicy wielowymiarowej, a mianowicie: #define ROZMIAR 10 int i; int **tabliczka = malloc(ROZMIAR * sizeof *tabliczka); *tabliczka = malloc(ROZMIAR * ROZMIAR * sizeof **tabliczka); for (i = 1; i...

Kurs programowania w C cz. 108

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 7
Wyświetleń: 588

124 ROZDZIAŁ 17. WSKAŹNIKI określone miejsce w pamięci. A ponieważ funkcja ma swój  adres 6,  to nie ma przeszkód, aby i na nią wskazywał jakiś wskaźnik. Deklaracja wskaźnika na funkcję Tak naprawdę kod maszynowy utworzony po skompilowaniu programu odnosi się właśnie do adresu funkcji. Wskaźnik na ...

Kurs programowania w C cz. 109

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 560

WSKAŹNIKI NA FUNKCJE 125 /* kod...*/ } void moje_urzadzenie_zamknij (void) { /* kod... */ } int rejestruj_urzadzenie(struct urzadzenie &u) { /* kod... */ } int init (void) { struct urzadzenie moje_urzadzenie; moje_urzadzenie.otworz = moje_urzadzenie_otworz; moje_urzadzenie.zamknij = moje_urzadz...

Kurs programowania w C cz. 110

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 7
Wyświetleń: 602

126 ROZDZIAŁ 17. WSKAŹNIKI { struct urzadzenie moje_urzadzenie; moje_urzadzenie.m = &moje_urzadzenie_metody; rejestruj_urzadzenie(&moje_urzadzenie); } Możliwe deklaracje wskaźników Tutaj znajduje się krótkie kompendium jak definiować wsk...

Kurs programowania w C cz. 111

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 560

CIEKAWOSTKI 127 Ciekawostki • w rozdziale  Zmienne  pisaliśmy o stałych. Normalnie nie mamy możliwości zmiany ich wartości, ale z użyciem wskaźników staje się to możliwe: const int CONST=0; int *c=&CONST; *c = 1; printf("%i\n",CONST);...

Kurs programowania w C cz. 112

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 574

Rozdział 18 Napisy W dzisiejszych czasach komputer przestał być narzędziem tylko i wyłącznie do przetwa- rzania danych. Od programów komputerowych zaczęto wymagać czegoś nowego — program w wyniku swojego działania nie ma zwracać danych, rozumianych tylko przez autora progra- mu, lecz powinien być n...

Kurs programowania w C cz. 113

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 7
Wyświetleń: 630

130 ROZDZIAŁ 18. NAPISY printf("%s", tekst); Większość funkcji działających na napisach znajduje się w pliku nagłówkowym  string.h. Jeśli łańcuch jest zbyt długi, można zapisać g...

Kurs programowania w C cz. 114

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 602

ŁAŃCUCHY ZNAKÓW W JĘZYKU C 131 Należy cały czas pamiętać, że napis jest tak naprawdę tablicą. Jeśli zarezerwowaliśmy dla napisu 80 znaków, to przypisanie do niego dłuższego napisu spowoduje  pisanie po pamięci . Uwaga! Deklaracja char *tekst = cokolwiek; oraz char  tekst  = cokolwiek; pomimo, że wy...

Kurs programowania w C cz. 115

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 581

132 ROZDZIAŁ 18. NAPISY Warto zaznaczyć, że znak nowej linii (’\n’) jest w różny sposób przechowywany w róż- nych systemach operacyjnych. Wiąże się to z pewnymi historycznymi uwarunkowaniami. W niektórych systemach używa się do tego jednego znaku o kodzie 0x0A (Line Feed — nowa linia). Do tej rodzi...

Kurs programowania w C cz. 116

  • Politechnika Poznańska
  • prof. nadzw. PP dr hab. inż. Stefana Gocholewski
  • Informatyka
Pobrań: 0
Wyświetleń: 462

OPERACJE NA ŁAŃCUCHACH 133 int main(void) { char str[100]; int cmp; fputs("Podaj ciag znakow: ", stdout); fgets(str, sizeof str, stdin); if (!strncmp(str, "foo", 3)) { puts("Podany ciag zaczyna sie od ’foo’."); } return 0; } Kopiowanie napisów Do kopiowania ciągów znak...