Widzę, że dobrze rozumujesz, że nazwa tablicy jest wskaźnikiem do jej pierwszego elementu o numerze 0. Jednakże wkrada Ci się błąd w miejscu przypisania drzewo[1].wezel=kopiec; A to dlatego, że nazwa tablicy jest wskaźnikiem stałym i nie zmienisz adreu na który pokazuje. Jeżeli zmienisz definicję węzła na: pole *wezel; to potem możesz go sobie...
Przyczyna leży w błędnym użyciu funkcji srand . Reinicjalizujesz generator pseudolosowy zwykle tą samą wartością, jeśli wszystko wykonuje się poniżej sekundy. Inicjalizację powinieneś wykonać jednorazowo.
Czy jesteś pewien, że stos Ci się nie przepełnia? Kompilator przed tym nie ostrzega, bo nie zawsze można na poziomie kompilacji przewidzieć rozmiar stosu. Stos w AVRach wypełniany jest od końca pamięci SRAM, jak się stos spotka z danymi, no to koniec... Czy masz w programie sytuacje, że np. wywołujesz funkcję w innej funkcji, albo nawet głębiej? Albo...
Spróbuj skorztystać z gotowych metod, do porównania ciągów znaków: [1] http://www.cppreference.com/wiki/string/... [2] http://www.java2s.com/Code/C/String/Comp...
Można to zrobić tak: #include <stdio.h> #include <stdlib.h> struct key{ char *w; char *z; }; typedef struct key2 { char *w; char *z; } nasz_typ; const int tab_size = 100; struct key * tab; nasz_typ * tab2; int main() { tab = (struct key *) malloc(sizeof(struct key) * tab_size); tab2...
Witam! Jednym z rozwiązań jest zadeklarowanie pola struktury jako wskaźnika do np LEV-elementowych tablic typu "wskaźnik do char" np tak: [syntax=c]typedef struct { char *opis_msg; char *(*alarmy)[2]; } AL_TABLE;[/syntax]a nastepnie odwoływać się do nich następująco np: [syntax=c]printf("%s\n", (al_tab[2].alarmy[2])[1]);[/syntax] Analizując wiersz z...
#include <cstdlib> #include <iostream> using namespace std; struct struktura { public: int nazwa_p[20]; int ilosc_p; float cena_n; float cena_b; struktura(void) { for(int i = 0;i <= 20;i++)this->nazwa_p[i] = 0; } }; int liczy(struktura *tablica) { int suma; for (int...
Możesz spróbować dopasować do swoich potrzeb poniższy przykład: Give number of students: 2 [0] Student's firstname: Jan [0] Student's lastname: Kowalski [0] Student's study year: 1 [0] Student's group: 1 [0] Has student scholarship? (0 - No, 1 - Yes): 0 [1] Student's firstname:...
Witam, nie można tak realizować inicjalizacji, ponieważ zastępujesz wskaźnik na strukturę wyrażeniem: { {MAIN_SCREEN_ID, MS_BTN_OK_ID,20,20,20,20,(u8*)NU... {MAIN_SCREEN_ID, MS_BTN_ESC_ID,40,20,20,20,(u8*)N... {MAIN_SCREEN_ID, MS_BTN_MENU_ID,60,20,30,20,(u8*)...
Mogę. void koduj(const char *wd, key_tab *tab) //wd-wyraz { char zs[10]; gn(zs,10); //generuje zamienniki wyrazu tab[lc].w = strdup(wd); tab[lc].z = strdup(zs); lc++; }
tablica[0] jest równoważna z *(tablica) tablica[1] jest równoważna z *(tablica+1) tablica[2] jest równoważna z *(tablica+2) Masz przykład to teraz zamieniaj. -> Update W tym wypadku raczej tak: [syntax=cpp](Tablica+i)->Nazwa; //i->licznik;[/syntax]
Witaj W sumie to zastanawiam się czemu forma To string "Testowy" ma długość 8 (7liter + 0 na końcu)znaków, a Twoja tablica ma tylko 5 elementów, więc przekraczasz zakresy tablicy i wpisujesz dane bez kontroli w pamięci mikrokontrolera.
np. [syntax=c]przycisk tablicaPrzyciskow[4] = { {0, 0, 0}, {1, 0, 0}, {2, 0, 0}, {3, 0, 0} };[/syntax] Powinieneś nadać wartości wszystkim zmiennym w strukturze, inaczej kompilator może wywalić ostrzeżenia.
Przejście z C++ na C jest proste i pozostawiam Tobie. cout pisze na ekran, cin do zmiennej.
Do składowych dostajesz się przy pomocy kropki. U ciebie byłoby np. tak: xxl[4].a = 23; xxl[6].d[23] = 225; int temp; temp = xxl[1].d[12]; Zamiast liczb w nawiasach kwadratowych, możesz wstawić zmienne i np. operować na danych w pętli.
Bo wogóle pierwszy malloc nie może brać rozmiaru 6*sizeof(int) ale 6*sizeof(struct bazadanych *)
1. Pobierasz rozmiar tablicy przy użyciu scanf("%d", &rozmiar) zmienna rozmiar jest typu całkowitego. 2. Przydzielasz pamięć dla tablicy struktur. Zakładamy, że wcześniej zdefiniowałeś typ 'Struktura'. [syntax=c]Struktura* struktura = (Struktura*) malloc(sizeof(Struktura) * rozmiar); /* odwolujesz sie poprzez operator [] lub operacje na wskazniku bezposrednio...
Czyli bardzo niekompletny ten wstawiony kod. Ad.1. A do czego są Ci potrzebne w kodzie C biblioteki z C++? U mnie to nawet nie chce się z nimi skompilować. Jaki kompilator używasz, że na to pozwala? Ad.2. Ok, kod niekompletny, rozumiem. Ad.3. Ale chyba char ch nie musi być z tego powodu zmienną globalną? Przecież możesz ją stworzyć w main przed switchem....
Możesz tak: cout << T[i]. imie << endl; lub cout << T[i]. imie << " ";
Ta funkcja nie realizuje mrugania diody. Realizuje odczyt stanu. Jak większość poprawinie napisanych funkcji ze słówkiem Get w nazwie. Natomiast sposób wywołania funkcji z tymi konwersjami to masakra o pomstę do nieba wołająca. Jeśli to wszystko działa to prawdopodobnie przez przypadek. I jeszcze uwaga do ... trzeciej pozycji tablicy request ... adresem...
A stosu za małego nie zadeklarował ty aby gdzie?
Twoja funkcja musi pobierac wskaznik do struktury GPS. Przykładowo jesli struktora nazywa się strukturaGPS: typedef struct{ int wysokosc; int szerokosc; int czas int packet3[8]; }strukturaGPS; //za jej pomocą tworzysz strukturę GPS: strukturaGPS GPS; //Funkcja bedzie wyglądała tak: void gps_dm_dms(strukturaGPS* GPSpointer...
unsigned char * buf_o = &(Pointer->Buffer_O[0]... WriteFile( hCom, &(Pointer->Buffer_O[0]... ... ); Zmieniłbym nazwę pola Thread na CmdStopThread albo coś podobnego.
Mógłbyś te dane przedstawić w formie tabelki? ;) A może tablica struktur? Przykładowo arr_stProdukcja[2].udFailCnt ?
mamcpy() a string zdefiniowany jako const.
Dodano po 1 w ogóle to nie wiem po co korzystasz z 2ch funkcji jak spokojnie możesz to zrobić w jednej: [syntax=c] #include<stdio.h> #include <stdlib.h> typedef struct{ int x; int y; }polozenieS; int getXvalue(void); //your functions int getYvalue(void); int random(int min, int max); polozenieS* add_structure(void); int main(void) { int...
Nie wiem czy mogę podawać tutaj linki ( to mój drugi post) ale pod tym adresem: http://programowanie.cal.pl/cyfbar/diffe... masz wszystko pięknie opisane.
[syntax=c] void TableCopy(unsigned char *PointerSource, int LengthDest, unsigned char *PointerDest); struct cmd { unsigned char length; unsigned char addres; unsigned char data[10]; }; unsigned char mem[12] = "Ala ma kota"; int main() { struct cmd commenda={10,20,'a','b','c'}; int j; TableCopy(mem, sizeof(commenda.data), commenda.data+3); for(j = 0;...
Obie metody są dobre. W metodzie A definiujesz wskaźnik na tablicę obiektów typu struktura, a następnie alokujesz pamięć na 10 tego typu obiektów. I to jest metoda prostsza. Metoda B jest bardziej złożona. Nie alokujesz od razu jednej tablicy na wszystkie elementy, ale tworzysz tablicę wskaźników, z których każdy dopiero wskazuje na obiekt typu struktura,...
Wszystkie zmienne automatyczne w funkcjach są niszczone po wyjściu z funkcji. Jeśli chcesz, żeby funkcja tworzyła strukturę i ją jakoś zwróciła, to w C zazwyczaj robi się to brzydko: - strukturę deklaruje (lub alokuje) się na zewnątrz funkcji, a do funkcji podaje wskaźnik do niej, żeby funkcja tę strukturę zainicjalizowała; - na zewnątrz funkcji deklaruje...
EDIT: Na odwrót, zmień typ tymczasowej tablicy na tablice struktur "bieganie".
Indeksy w C zaczynaja sie od zera, czyli 0 - count-1!
Wszytko jest tak jak powinno :) Wstaw na samym starcie dyrektywę {A-}, to spowoduje usunięcie nadmiarowych bajtów. Albo lepiej, odpal taki program : [syntax=delphi]program Project1; {A+} {$APPTYPE CONSOLE} uses SysUtils; type obiekt1 = record zmienna1 : Real; zmienna2 : Byte; end; obiekt2 = packed record zmienna1 : Real; zmienna2 : Byte; end; obiekt3...
Tak bo to ciągła przestrzeń adresowa.
Proponuję wyodrębnić z kodu main() funkcję porównującą dwa wiersze tabeli - porównywać będzie kolejne pola wiersza a zwróci wynik mniejszy/wiekszy/równy. Wtedy reszta kodu "zrobi się sama" poprawnie.
a jak zadeklarować tablicę o różnych typach zmiennych? (numery wierszy- int, wiersze - tablice char) Tablica struktur się kłania. Jak nie wiesz o co chodzi - to tu masz przykład: http://marek.piasecki.staff.iiar.pwr.wro...
Jak ja lubię te długie nazwy, niby pomocne a tak naprawdę cholernie mylące... No ale nic. Zobacz co masz w funkcji main(): K * kolejka; kolejka=malloc(sizeof(kolejka)); a powinno być: kolejka=malloc(sizeof(K)); No przecież sizeof(kolejka) to raptem 4 bajty (czy tam ile liczy sobie zwykły pointer, jakim jest kolejka) i gdy potem w funkcji InicjujKolejke()...
Cześć, nie jestem wstanie wyłapać błędów. A być może ta funkcja jest całkowicie źle napisana? Proszę o pomoc. treść zadania: Zadeklaruj strukturalny typ danych, który będzie zawierał dwa pola: napis oraz liczba całkowita. Następnie w funkcji main zadeklaruj lokalną tablicę o długości 5, zawierającą elementy typu takiego, jak zdefiniowana wcześniej...
volatile uint8_t tab1[10]; tab1 jest wskaźnikiem z niejawnym modyfikatorem const do tablicy zmiennych typu uint8_t z modyfikatorem volatile Nie doczytałem wcześniej. Innymi słowy moje wcześniejsze próby rozbiły się o const, to było nie do przejścia... Dodano po 58 struct test { .. } strTest; struct test *wsk = strTest; Pamiętaj, że...
Dlaczego nie działa rzutowanie tego typu ? A mógłbyś wyjaśnić, co znaczy nie działa? Bo zazwyczaj działa... [edit] Musisz tylko pamiętać, że kompilator jest uprawniony do wyrównywania ułożenia pól w strukturach w zależności od wymagań architektury procesora. Jest prawdopodobne, że pole wskaźnika payload zostanie przesunięte w pamięci (wyrównane) do...
Witam koledzy, Zaczynam przygodę z C++, jako środowisko programistyczne wybrałem Visual C++ 2010 Express. Napotkałem następujący problem. Potrzebuję utworzyć tablicę której rozmiar będę musiał zmieniać dynamicznie (tz. podczas wykonywania programu może zaistnieć konieczność powiększenia rozmiaru tablicy bez utraty danych w niej zapisanych. Tablica będzie...
A jak masz połączone te "dzieci" i "pracowników" ? To jedna tablica, czy dwie ? Jak wygląda struktura tych tablic ?
Witam , piszę kod obsługi menu wielopoziomowego LCD na PIC. Nie mam niestety dużego doświadczenia, dlatego posiłkuje się kodem z avrfreaks.net (tinymenu). Niestety mam problem z poniższym kodem. Są to dwie struktury. W drugiej tj. menu_t mamy tablice struktur menu_entry_t [syntax=c] typedef struct menu_entry_s { uint8_t flags; void (*select)(void *arg,...
nie ,to już początek pamięci SDRAM
Witam. Proponuje kliknac TU ;) Pozdrawiam.
Poza tym po skompilowaniu Twojego kodu nie wyświetla średniej, która jednak musi być zawarta jako wynik działania programu. Wprowadź małą ilość, np 2 to zobaczysz że wypisze 3 punkty. http://ideone.com/VZ526V Pierwszy punkt wypisał się w wierszu z pytaniem, ostatni punkt to średnia.
DN #include <stdlib.h> #include <iostream> using namespace std; float v,v1; class Zawor { public: float kvs[5]; void podstaw(float a, float b, float c, float d, float e){ kvs[0]=a;kvs[1]=b;kvs ... } }DN[10]; int main(int argc,...
Witam Mam problem z programem, który tworzy bazę danych. Wkleję tylko kawałek programu, z którym mam problem. Funkcja ma dynamicznie tworzyć, wpisy do bazy danych. Kompilator wyrzuca mi " 'return' : 'baza *' differs in levels of indirection from 'int' ". Bardzo proszę o pomoc. [syntax=c]struct baza{ char imie[30]; char nazwisko[30]; int numer; }; int...
Mam takie pytanie: czy kompilator może przydzielić bloki w pamięci EEPROM w kolejności innej niż zadeklarowano je w programie? Nie możesz założyć, że kolejność zmiennych w pamięci jest taka, jak zadeklarowana w programie. Gwarantowana jest kolejność pól struktury, więc zamykając twoje tablice w strukturę, przy założenu, że w EEPROM nie ma innych zmiennych,...
Witam Stworzyłęm sobie strukturę, a następnie stworzyłem tablicę typu tej struktury. Wykorzystuję to do wyświetlania menu. Tablicę umieściłem w pamięci programu. Problem objawia się w tym, że nie wiem jak przekazać tą tablicę do funkcji. Czy można przypisać jej jakoś wskaźnik i później przekazać wskaźnik do funkcji czy zrobić to za pomocą indeksó tablicy....
Mam np. następującą strukturę: [syntax=cpp-qt] struct telefony { char marka[20]; float przekatna_ekranu; float waga; }; [/syntax] Teraz deklaruję oraz inicjalizuję tablicę struktur o nazwie np. nokia: [syntax=cpp-qt] telefony nokia[3] = { {"6300", 2, 91}, {"N82", 2.4 , 114}, {"Lumia 520", 4, 124} }; [/syntax] A jak najwygodniej zrobić podobną inicjalizację,...
Witam , chce napisać program wykorzystujący trzy funkcje pobierz_dane()-pobiera kilka rekordow z danymi zapisz_dane()-zapisuje informacje z tabicy struktur do pliku odczytaj_dane()-odczytuje dane z pliku i wyswietla na ekranie stworzylem funkcje do pobierania danych ale nie wiem jak mam to teraz zapisać :/ [syntax=cpp] void pobierz() { const int ilerekordow...
Programowane są godziny włączeń i wyłączeń różnych doświetleń ( różna kolorystyka), a ponieważ są 4 kolory, więc par czasowych włącz - wyłacz jest wiele. Jeśli do tego dołożę, że mają być też dni, aby niepotrzebnie bajery te były właczane w godzinach pracy, to robi się tego naprawdę dużo. Nie widzę problemu. Struktura powinna być z parametrami JEDNEJ...
Zależy co masz w tych strukturach, jak są dane wyrównane etc.
Dlaczego w ostatniej linii tego kodu: ..\src\program.c:95:1: error: initializer element is not constant ..\src\program.c:95:1: error: (near initialization for 'arr ??? Chce po prostu zainicjować tablice struktur jakimiś wcześniej określonymi strukturami (const) a tu dostaje wyraźny błąd że moje strukturki nie są const. Proszę o pomoc. Problem moge rozwiązać...
robisz pętlę czytającą cały plik znak po znaku. wewnątrz pętli sprawdzasz czy ten znak to znak końca linii (czyli '\n'). jeśli tak, to inkrementujesz jakąś zmienną, która będzie licznikiem ilości wierszy. przyda się np funkcja fgetc. na google jest pełno opisów jeśli nie wiesz jak stosować.
Witam Piszę w C program dla MSP430 środowisko IAR . Napotkałem na następujący problem. Mam zadeklarowaną tablicę 10 elementów będących strukturami. Mam też procedurę wyrzucajacą przez port RS232 zawartość takiej struktury. Porcedura pobiera dane przez wskaźnik na element tablicy. I teraz gdy odwołam się do procedury w ten sposób : drukuj(&tablica[0]);...
Dzieki za podpowiedz. Ostateczenie zdeklarowalem obszar pamieci pod ktorym ma byc zapisywana tablica struktur w ustawieniach linkera.
W żadnym z tych języków nie ma gwarancji spójności mimo deklaracji volatile (a spójnośc jest drugim z marzeń tych co używają słowa ) dla danych większych niż naturalny dla platformy integer Czemu mają służyć te wynurzenia bo nie rozumiem? jest to o czym nieświadomie marzy większość użytkowników używając volatile Nie wiem czy większość użytkowników...
Przy kasowaniu przepisuj tablicę struktur. Ewentualnie (rozwiązanie bardziej eleganckie) - zastosuj listę.
Prolem mam przy definiowaniu struktury oraz ogólnie przy napisaniu tych funkcji. Gdyby to trzeba było napisać nie jako funkcję tylko jako fragment kodu porgramu w funkcji main to bym nie miał problemu. A to zadanko z polibudy z Wrocławia.
W Bascomie tylko tablice jednowymiarowe, ale możesz przeszukiwać je z przesunięciem. Pamiętaj o dostępnej pamięci, bo tablica 10000 pozycji pewnie nie wejdzie w up... Pocztaj jeszcze o strukturze DATA.
Przychodzi bajt C do psychoanalityka Doktor pyta: i co pan widzi? Bajt: z prawej jakiś bajt, z lewej jakiś bajt, i nic innego nie stwierdzę, chyba k... jestem "tablicą C" Akurat słaby przykład. Biorąc pod uwagę tablicę struktur, element tablicy "wie" ze jest strukturą, no i że kolejny też nim jest. Problem leży w tym, że ostatni nie wie, że jest ostatni...
Możesz użyć qsort() z biblioteki standardowej. Pozdrawiam, Dr.Vee
Spróbuj albo tablice 2 wymiarowe albo struktury. [syntax=c] int tab0[][8] ={ 1,1,0,0,0,0,0,0 1,1,1,1,1,0,0,1 1,0,1,0,0,1,0,0 }; [/syntax] Pozdrawiam
Najlepiej byłoby użyć do tego SCL'a. Możesz wtedy indeksować tablicę jakąś zmienną, np.: tablica[i]. W pozostałych językach musisz to zrobić statycznie lub skorzystać z adresowania pośredniego (indirect addressing). Przy czym w przypadku dodatkowych struktur UDT jest to trochę uciążliwe, bo trzeba dobrze liczyć bajty.
...a z czym masz konkretnie problem? Tablica jest strukturą, a każdy element tablicy może wskazywać na inną tablicę (lub strukturę).
1. Lepiej zamień te zmienne na typy całkowite a dodaj tablice struktur: struct { const char *name; int ExStrange,ExAttack,ExDeffence; } Weapons czyli teraz bron jest typu int zaś jej nazwa to Weapons 2. Jeżeli już koniecznie chcesz ten string zapisywać i odczytywać to: odczytujesz getline(plik>>ws,bron); Widzę że zignorowałeś moją radę z menu w poprzednim...
Kolejność napisania w kodzie źródłowym nie ma znaczenia. Jak radził michałko - musisz zamknać to w jakimś kontenerze - struktura, tablica.
Nie zrozumiałem do końca pytania, ale jeżeli masz na myśli Struktury, które zawierają tablice innych struktur i tak dalej w głąb, to tak, tak się robi (patrz WinApi ;) ). Tylko szczerze mówiąc, to z reguły nie ma sensu tworzenia tablic więcej niż 3-wymiarowych, chociaż i te rzadko tworze :P . Dlaczego? Bo ciężko jest znaleźć rzeczywiste odzwierciedlenie...
tab jest stałą adresową, a nie zmienną, więc nie można jej "przeładować". Eleganckie rozwiązanie - to zadeklarowanie tego w postaci struktury (której jedynym polem może być tablica) i zdefiniowanie w programie domyślnej wartości jako const, po czym podstawienie tej stałej struktury pod analogiczną zmienną (C obsługuje operator podstawienia dla struktur...
Wzorce projektowe nie mają poprawiać czytelności, tylko gwarantować niezawodność kodu (IMHO). Polimorfizm jest do zrobienia - w każdej strukturze (klasie) masz wskaźnik do tablicy funkcji (vtable) i zamiast wywoływać funkcje bezpośrednio korzystasz z tablicy wskazywanej przez strukturę. Wygląda to jeszcze gorzej niż brzmi, więc zamiast od razu skreślać...
Zamiast struktury zrób tablicę tablic. Będzie łatwiej.
Sugeruję zapoznać się z tym tematem: [url=http://www.elektroda.pl/rtvforum/to... - Wielkość struktury tablicy (array) - czy są różnice w deklaracyjne Tam jest wszystko dokładnie opisane.
Dobrze, ale jak wydostać z takiej struktury dane typu char
Witam, Mam strukturę: [syntax=c]struct Configure { char cUser[20]; char cPass[20]; };[/syntax] I chce zmodyfikować np 2 element tablicy cUser, jak to zrobić? Utworzyłem wskaźnik na strukturę: [syntax=c]Configure *pConf[/syntax] Poprzez: [syntax=c]pConf->cUser[2][/syntax] nie działa poprawnie.
okej dzieki za odpowiedzi, te duze tablice byly zdeklarowane z odpowiednimi wartosciami w pliku tablica1.c, tablica2.c itd.. i myslalem ze po kompilacji trafiaja do flasha ... wiec jest punkt zaczepienia dzieki :) pzdr
Kingston nie jest rzeczywistym producentem, tylko napisem na korpusie. W środku siedzi cos innego. Zawartość sektorów wygląda na wzajemnie spójną. Na szybko nie mam pomysłu, gdzie grzebać dalej. Trzeba by było polecieć dalej po kolei po strukturach logicznych. szukając błędów. Porównać zawartość tablic alokacji plików, kopię boot-rekordu, przyjrzeć...
Jest też taka "sztuczka" z alokacją tablicy na końcu struktury: struct varString { unsigned size; char string[1]; }; struct varString* alloc(unsigned size) { struct varString* vs = malloc(sizeof(struct varString + size - 1)); vs->size = size; return vs; } Może Ci się kiedyś przyda :) Pozdrawiam,...
A może coś takiego [syntax=c] typedef struct{ u08 b0:1; u08 b1:1; u08 b2:1; u08 b3:1; u08 b4:1; u08 b5:1; u08 b6:1; u08 b7:1; } volatile IO; IO * const pora=(IO*)&PORTA; #define PORTA0 pora->b0 #define PORTA1 pora->b1 ... [/syntax]
Można też zrobić sobie ładną strukturę do przechowywania danych o przycisku, a potem z tych struktur utworzyć tablicę i dodatkowo tablice wskaźników na funkcje dla każdej akcji każdego przycisku i mamy wszystko rozwiązane w eleganckiej i szybkiej pętli w przerwaniu.
Cego nie rozumiesz? komenda jest indexem tablicy? chyba do 7 umiesz liczyc. Ja umiem nawet do 47 policzyć tylko że nie będę musiał, to ty będziesz musiał ze swoim podejściem. Nie sprawdzasz indeksy tylko wyliczasz dlugosc komendy w zwiazku z tym nie mozna pomylic dzeta z eta ... Znowu nie zrozumiałeś, te komentarze pokazują wizualna odległość pomiędzy...
Cześć, korzystam regularnie ze struktur, tablic struktur i wskaźników na struktury. Wiem jaka jest różnica między strukturą i unią. Zastanawiam się jednak nad praktycznymi przykładami wykorzystania unii oraz połączenia unii ze strukturami. Czy dysponujecie jakimiś przykładami (embedded), gdzie połączenie unii ze strukturą pokazuje sens tego tandemu?...
Jeżeli stosujesz wielowymiarowe tablice i masz 'dziwne' zachowane programu to na pewno źle ich używasz ;-) Takie tablice to tak jak wskaźnik do wskaźnika (dla 2 wymiarów) a jeżeli masz 3 to wskaźnik do wskaźnika do wskaźnika i zaczyna się zabawa... naprawdę łatwo o błąd. Poszukaj błędu, albo napisz program tak by nie używał wielowymiarowych tablic....
Wykazujesz pewną niekonsekwencję - w strukturze masz zadeklarowaną tablicę znaków, natomiast przy odczycie kombinujesz ze wskaźnikami. Problemem jest chyba przypisanie [syntax=c]Pociag_wskaznik = Pociag;[/syntax] spróbuj: [syntax=c]strcpy( p[i].Pociag, Pociag);[/syntax]
W Javie nie ma takich struktur więc musisz czytać z pomocą strumienia bajt po bajcie. EDIT: czemu w Javie te bajty masz jako string? Ja bym to widział tak: [syntax=java] // 'odebrane' to tablica bajtow - odebrany pakiet - czyli nasza struktura protected void onProgressUpdate(byte [] odebrane) { // tu czytanie, }[/syntax]
Jedyne co możesz zrobić to stworzyć tablicę struktur i przeszukiwać po kolei pola z nazwiskami.
Po kiego grzyba Ci pola bitowe? Nie wolno w ten sposób odwoływać się do kolejnych elementów struktury. Działa tylko dlatego, że przy kompilacji włączona jest opcja -fpack-struct . No i po co Ci struktura do trzymania kilku elementów tego samego typu? Od tego są tablice, a jeżeli chcesz koniecznie mieć tam wpisane nazwy, to sobie je możesz zdefiniować...
Nie kojarzę specjalnych funkcji, poza jakimś bloczkiem z biblioteki LGF, ale sprowadza się do porównań. Nie użyłbym do tego drabinki, tylko zamknął w tablicy struktur i pętli w SCL (z grubsza kilka linijek kodu).
Nie da rady. Zwróć uwagę, że w zasadzie typ argumentu funkcji nie jest taki sam, jak typ zmiennej globalnej (tablica), a tylko kompatybilny (de-facto wskaźnik na tablicę, chociaż to taka namiastka referencji w C). Jedynie możesz "zenkapsulować" obiekt, tzn. stworzyć globalną strukturę ze wskaźnikiem na tablicę i rozmiarem i coś takiego przekazać do...
Trzymanie takiej ilości danych w formie stałych programu to grubie nieporozumienia, w sumie niezależnie od języka. Jeżeli taki kod ma być jakkolwiek utrzymywany lub rozwijany, to trzeba zapomnieć o tym pomyśle. Ale nawet pomijając ten warunek to po prostu nadużycie. Jestem przekonany, że wczytywanie czegoś takiego z pliku, czy innej formy persystencji...
Witam, u8 tab[100] u8 *ptr = tab; W zakładce Expressions możesz wpisać (u8*[100])ptr lub (u8 [100]*)ptr Jedno albo drugie zadziała... nie mam jak sprawdzić teraz które jest poprawne. EDIT: Oczywiście w Expressions możesz podglądać co chcesz. Można rzutować tablice na struktury i odwrotnie. Rzutować ręcznie wpisane adresy na tablice/struktury. Np: (radio_frame_t...
W ogólnym przypadku musisz wysłać każde pole osobno, lub też napisać procedury serializacji i deserializacji struktury do/z tablicy znaków. W specyficznym przypadku może uda się wykorzystać specjalne dyrektywy kompilatora, aby struktura była upakowana w pożądany sposób (bez wyrównywania pól). Aby zgłębić zagadnienie, przeczytaj "Data structure alignment"...
wystarczy że zrobisz tablicę struktur i odwołuj się do konkretnej osoby za pomocą indeksu
Komunikat o błędzie wyjaśnia cały problem. tabs tworzysz jako tablicę typu int . W kodzie traktujesz ją tak jakby była tablicą typu struct Spkt . Czy aby na pewno rozumiesz jak korzysta się ze struktur?
ponieważ operujesz wskaźnikiem na strukturę musisz wskaźnik wyłuskać (komunikat błędu linia 16) i dopiero możesz się odwoływać. Masz dwie opcje: 1/ (*Bufor1).rozmiar=0; 2/ Bufor1->rozmiar=0; Przy stosowaniu operatora u8 i = 2; char* ch = "test"; char ch2 = i[ch]; // kompiluje się i jest równoważne ch[i] Jednocześnie oznacza...
Możesz spróbować przywrócić tę partycję (najlepiej po uprzednim wykonaniu kopii posektorowej, a co najmniej zapisując dane wycofywania), ale najprawdopodobniej będzie ona uszkodzona. Formatowanie wiąże się z utworzeniem struktur logicznych (boot-sektor i jego kopia, tablice alokacji i katalog główny) nowej partycji, które to struktury nadpisują fragmenty...
W nawiązaniu do porad kolegi tmf proponowałbym coś w tym stylu (być może strach przed kwalifikatorem __flash wynika z braku przykładów kodu :?: : [syntax=c] // przykład jak używać kwalifikatora __flash do umieszczania // danych w pamięci programu i jak się do nich odwoływać // kod gotowy do odpalenia w symulatorze Atmel Studio 6 // można zaobserwować...
Ominięciem tej niedogodności jest napisanie funkcji przez które uzyskasz dostęp do powyższej struktury, tak jakby była tablicą pól bitowych. Elegancko możesz to zrobić w C++ stosując przeładowanie operatorów. Tu mógłbym cie poratować gotowym szablonem.
Strumienie raczej nie służą do edycji danych, jak sama nazwa mówi. Aby móc manipulować danymi musisz wczytać je do stosownej struktury (np tablicy dynamicznej lub listy), następnie tam przykładowo wykonać zmianę kolejności i ponownie zapisać.
tablica struktur wskażnik struktur fotografie struktur
instrukcja magnetowid toshiba gwint mikrofon kostki kierownicą passat
zasilacze czarna lista corral super n3500
Kranik na radiu: znaczenie i zastosowanie Wizerunek kranu na tylnej ścianie radia - co oznacza?