Witam, Ale nie chce przekazywać do funkcji całej tablicy dwuwymiarowej I tego nie robisz. Przekazujesz tylko adres. my_fb1 (pNumberChecked:= ADR(checked_options Powinno zadziałać. Pozdraiwam,
Być może nie musisz przekazywać parametrów size1 i size2 - w Javie wielkość tablicy można z niej odczytać, w C nie ma takiej możliwości, więc trzeba przekazywać dodatkowy parametr. Oczywiście tylko jeśli w funkcji używasz całej tablicy.
Dokładnie tak. Inny sposób, można jeszcze użyć zmiennych zewnętrznych ale to trzeba robić świadomie (są pewne pułapki). Język C++ dysponuje jeszcze mechanizmem referencji ale to prawie to samo co przekazywanie poprzez wskaźniki. Jeśli przekazuje się do funkcji tablicę jako całość, to automatycznie jest przekazywana jako wskaźnik do pierwszego elementu.
Witam Próbuję przekazać tablicę dwuwymiarową do funkcji, ale wyskakuje mi segmentation fault. Czy ktoś wie co napisałem źle? #include <stdio.h> void pobierz (int **wsk) { printf("%d\n", *(*(wsk)+1)); printf("%d\n", *(*(wsk+2))); } int main() { size_t...
Do funkcji w przykładzie przekazywany jest wskaźnik. W C/C++ nazwa tablicy jest jednocześnie wskaźnikiem na początek tablicy(tłumaczyłem Ci to bodajże przy okazji Twojej walki z jpg:). Czyli: Text_1234 == &Text_1234[0] Więc robisz dobrze w swoim kodzie(a przynajmniej w pierwszej jego wersji). Tak: &Text_1234 mógłbyś zrobić gdyby funkcja przyjmowała...
Próbowałem przekazywać tablice po pierwszej zmiennej, tak jak wyżej, ale cały czas przekazywałem przez wartość. Zadziałało dopiero jak przekazałem przez referencje (zresztą tak jak wyżej :) ). I tutaj mam kilka pytań. 1. Dlaczego?? Przecież chodziło jedynie o identyfikatory (wartości) poszczególnych czujników. 2. Po co przekazywać przez referencje zmienne...
Witam, Skoro ta tablica jest tworzona dynamicznie to ta `10`-tka: _table=(unsigned char*)calloc( 10 ,sizeof(unsigned char)); będzie jakąś zmienną, co za tym idzie nie ma potrzeby dodatkowego pozyskiwania rozmiarów tej tablicy, wystarczy "nie zgubić" tej zmiennej tylko przekazywać ją razem ze wskaźnikiem do zaalokowanej pamięci, dla wygody można całość...
Tutaj nsvinc ma całkowitą rację, technicznie do funkcji przekazywany jest wskaźnik wskazujący na obszar pamięci zawierający tablicę, więc jest to klasyczne odwołanie przez referencję, tyle, że implicite, bo do funkcji jest przekazywany przez wartość wskaźnik do tablicy, który funkcja może modyfikować, a że wskazuje on na obszar pamięci zajmowany przez...
Da się coś takiego zrobić w c# aby nie inicjalizować tablic i parametry przekazywać na sztywno? Co przez to rozumiesz?? Tą funkcję co masz możesz wywołać pisząc: [syntax=csharp]zapytanie_zwykle( new string[] { "pole1", "pole2", "pole3" }, "tabela_nazwa", new string[] { "jakiś tam warunek" });[/syntax]
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ć...
Kompilator najpierw na stosie rezerwuje miejsce na tablicę, potem funkcji itoa przez rejestry procesora ( lub przez stos) przekazuje wskaźnik( adres ) do tej tablicy. Funkcja itoa zwraca wskaźnik też przez rejestry i ten sam wskaźnik dopiero przekazywany jest do funkcji LCD_WriteText(). Z tego względu, że miejsce dla tej tablicy jest rezerwowane na...
Poczytaj o przekazywaniu tablic jako argumentów funkcji w C++... na razie masz komunikat, że nie ma definicji funkcji która by obsłużyła argumenty jak w wywołaniu. http://www.cplusplus.com/doc/tutorial/ar... https://www.tutorialspoint.com/cplusplus... + https://www.tutorialspoint.com/cplusplus...
Witam, głowię się dłuższy czas jak poruszać się jednym wskaźnikiem po tablicy dwuwymiarowej. int **wsk, tab[10][10]; wsk = (int**)tab; // wsk = tab nie przechodzi, nie wiem czemu tab[0][0] = 5; tab[0][1] = 7; tab[1][0] = 9; printf("%d, %d", *wsk, *(wsk+1));...
Wprzypadku sortowania [i]in situ[/b] nie zwraca się nic, gdyż wymagałoby to stworzenia kopii tablicy. Przekazujesz wskaźnik, więc funkcja pracuje na tym samym obszarze pamięci.
Poniżej przykład jak w Twoim kodzie można przekazać tablice do funkcji. Podałeś, w mojej opinii RZEKOME rozwiązanie problemu (na pewnym poziomie prawidłowe) , jest jakieś cięcie między funkcjami, i nic nie jest przez to prostsze, klarowniejsze, bardziej odporne na zmiany (co, gdy o graczu będzie imię?). Od tablic są zależności (dependencies) w dwóch...
(at)strikexp Możesz też zdefiniować jako argument funkcji tablicę. Przewaga jest taka, że kompilator ma szansę sprawdzić wtedy czy nie wychodzisz poza indeks. Przekazywanie wskaźnika na tablicę może rodzić problemy - jeśli potem zmodyfikujesz tablicę, to trzeba będzie przejrzeć wszystkie funkcje, które się do niej odnoszą. Uprzedzając pytanie - tablice...
Witam, W jaki sposób w CODESYS (w ST)do argumentu funkcji przekazać tablicę, a raczej jej adres pierwszego elementu. Tz chodzi mi tylko o to co mam zadeklarować w zmiennych wejściowych funkcji jeśli mam zamiar przekazywać jej tablicę Np mam tablicę: zm1 : ARRAY[0..13] OF BYTE; Więc na wejście funkcji będę podawał ADR(zm1) ...
Witam! Może tak: Zdefiniuj typ struturowy np tak: [syntax=c]typedef struct { double m[2][2]; } H;[/syntax]Zastosowałem tę sztuczkę dlatego, że typy strukturowe we współczesnych kompilatorach można przekazywać bezpośrednio jako parametry wywołania jak też funkcja może zwrócić bezposrednio w odróżnieniu od tablic, które można przekazywać tylko przez wskaźniki....
Brakuje określenia typów zwracanych przez funkcje (void?). W main próbujesz przekazać strukturę przez wartość. Użyj "&nowy", aby pobrać wskaźnik do nowy. I dodaj gwiazdkę w funkcja2() - musi działać, nie ma bata.
tymon_x działa ale jak byś mi mógł jeszcze wytłumaczyć dlaczego tablica buf jest 3 elementowa ? buf A skąd ci się teraz wzięła tablica 3 elementowa ? przecież tymon_x nic nie pisał o tym. Podał ci tylko dobry sposób jak sobie wyświetlić pojedynczy znak z całej twojej tablicy jednej czy drugiej. Tablica w przykładzie kolegi tymon_x jest przecież 2 elementowa...
bezposrednio nie jest to mozliwe tak jak ze zwroceniem wartosci liczbowej. funkcja w c moze zwrocic tylko JEDNA wartosc. moze zwrocic wskaznik - czyli jakby poczatek tego stringa. tyle ze zaalokowane wewnatrz funkcji zmienne po jej zakonczeniu sa zwalniane i nalezy zalozyc, ze przestaja istniec. oczywiscie wiadomo, ze przez chwile cos tam na tym stosie...
W symulatorze działa. Albert
To znaczy z czym się pogubiłeś? Błędnie deklarujesz tablicę. Gdzie masz miejsce na znak końca tekstu? Błędnie wpisujesz do niej wartość. Proponuję poczytać o wskaźnikach i przekazywaniu tablic do funkcji. A tu wklejam nieco podobny algorytm ;) [syntax=c] #include <stdio.h> #include <stdlib.h> #include <string.h> #define PIN_LENGTH4...
zainicjuj, przekaż, wypełnij, wykorzystaj po powrocie. Nie definiuj w fnkcji żadnych zmiennych! Operuj na parametrze przekazanym. A C ma to do siebie, ze akurat tablice zawsze są przekazywane przez referencję (z tego, co pamiętam).
Hej! Wiem, że 's' źle pokazuje, bo drukuję sobie jego wartość po wejściu do funkcji. Problem zaczął się wyjaśniać. Zauważyłem, że wartość tego wskaźnika w funkcji jest przesunięciem poprawnej wartości... Jakbym to już gdzieś widział.... Otóż adres tablicy, którą przekazywałem do funkcji nie był podzielny przez 4. Dlaczego? Tablica umieszczona była na...
a zmieniłes w kazdej deklaracji funkcji argumenty jakie mająbyć przekazywane (teraz musi byc tablica dwuwymiarowa przekazywana, anie jedno...)
Możesz zmienną Tablica Używanie zmiennych globalnych jest bardzo nieeleganckie i może prowadzić do trudnych do wykrycia błędów podczas runtime'u. (at)Kubbaz: 1. return Tablica[100] zwraca Ci nie tablice tylko jedna wartość, na dodatek poza zakresem. 2. po co zerujesz tablicę, a potem przypisujesz do niech wartości? Zerowanie jest bez sensu. 3. Adres...
Ale to w końcu masz stworzyć tablicę jednowymiarową zawierającą funkcje (jak napisałeś w 1 poście) czy funkcje działające na tablicach jednowymiarowych (jak to jest w przedstawionym przez Ciebie programie)? A co do błędu to napisz jaki błąd zgłasza kompilator, choć wydaje mi się że brakuje deklaracji typu drugiej zmiennej przekazywanej do funkcji reverseT.
Najlepszy pomysł rozwiązujący wszystkie problemy, to przekazywać do funkcji wskaźnik na tablicę Ee tam.Po co w tym przypadku komplikować sobie życie. W zasadzie rozwiązań jest dużo. Tablice można utworzyć w funkcji, tylko dodać magiczne słowo static :) Druga sprawa to taka, że galsan chce liczbę rozbić na poszczególne cyfry. A tu wystarczy zwykłe dzielenie...
Dziwią mnie te pierwsze porównania - w kółko porównujesz ciąg pusty z "I'm from clothespins, " Następnie dwa sensowne i znów to samo... Coś nie tak ewidentnie. Wniosek 1: Funkcja porównująca jest ok. Parametry doń przekazywane - niebardzo. To jeszcze jedno... Zapisz wyświetlanie całej tablicy ze stringami na początku każdego przebiegu pętli przeszukującej...
Czyli mam przywiechę na funkcji: jpeg_start_compress(&cinfo, TRUE); No i nie wiem co z tym zrobić. Właśnie do tego przydają się JTAGi Mam nieodpowiednie przekazanie parametrów do funkcji compress_jpeg, ale kompilator wywala tylko warninga więc chyba dokonuje odpowiedniej konwersji (samemu robi wskaźnik). Próbowałem też przekazywać bezpośrednio wskaźnik,...
musisz po prostu albo zdefiniować globalną zmienną wskazującą na głębokość rekurencji, albo przekazywać to jako parametr funkcji. Na tej podstawie określasz indeks w tablicy.
drugi przykład to po prostu wskaźnik na tablicę dynamiczną. Odwołujesz się w taki sam sposób, jak napisał poprzednik w komentarzu. Wszystko zależy od tego, co chcesz uzyskać i co masz. Jeśli z miejsca, w którym wywołujesz procedurę masz tablicę statyczną, możesz przekazywać ją do funkcji jako parametr var (względnie w pewnych przypadkach wystarczy out...
To ja bym proponował przeczytać: [url=http://cpp0x.pl/kursy/Kurs-C++/Pozi... - pierwsze starcie [url=http://cpp0x.pl/kursy/Kurs-C++/Pozi... tablic jednowymiarowych do funkcji
Po pierwsze, średnią liczysz dla jednego wektora na raz czy traktując oba jako jeden zbiór? Po drugie, float k jest ci zbędna. Co jest potrzebne to int n podający rozmiar tablicy zawierającej dane (do funkcji jest przekazywany wskaźnik, nie cała tablica) Po trzecie, średnią geometryczną otrzymasz formułą: \sqrt gdzie i to iterator w pętli, w to element...
Witam, Abstrahując od układu odniesienia - ponieważ nie dostarczyłeś kodu owej funkcji do której przekazujesz te tablice. To cytuję: "Nie rozumiem tylko dlaczego gdy wrzucam do tej funkcji tablicę tab[8], której wartościami są powyższe tablice, program działa również dobrze i wyświetla mi po jednej diodzie w odstępach np. 100ms. Przecież funkcja sprawdza...
Mam wskaźniki zdefiniowane w następujący sposób: [syntax=c]float (*A_ES1)[6][6] = (float (*)[6][6]) 0x0C200000; float (*B_ES1)[6] = (float (*)[6]) 0x0C200300;[/syntax] Mogę normalnie operować na pamięci na którą te wskaźniki wskazują. Przykład: [syntax=c](*B_ES1)[0] = 3.45; (*A_ES1)[0][0] = -9.78;[/syntax] Pozostaje pytanie jak przekazać to do funkcji...
1. Czyli, żeby nie spełnić warunku wystarczy napisać: bufor=NULL ? 2. Jak to jest w przypadku przekazywania ? [syntax=c]uint8_t tablica[10]; uint8_t *bufor; void Funkcja( uint8_t *dane ) { bufor = dane; bufor[5] = 33; } void main( void ) { Funkcja( &tablica ); Czy w tablica[5] będzie 33 ? } {[/syntax] Czy to jest poprawne ?
Witam Mam za zadanie posortować macierz 10x10, wiem jak sortować tylko nie mam pojęcia w jaki sposób zapisać to sortowanie w formie funkcji, mam problem przy przekazywaniu argumentu do funkcji jako tablicy dwu wymiarowej, dziwi mnie fakt że w tak napisanym kodzie jak poniżej dochodzi do zmiany wartości w tablicy która jest przekazywana jako argument...
Hasła do google odpowiednio: przekazywanie przez wskaźnik przekazywanie przez referencje zwracanie przez wartość
Zastanów się - skąd kompilator ma wiedzieć jaki rozmiar ma zdefiniowana tablica znaki? Definiujesz ją jako typ niekompletny i kompilator tego po prostu wiedzieć nie może. Musisz więc przekazywać oprócz tablicy znaki[] także jej rozmiar definiowany przy wywołaniu funkcji. Możesz też przyjąć, że tablica kończy się znakiem specjalnym, np. NULL i robić...
Ten caly kod jest strasznie zamieszany. 1. Dlaczego funkcje dodaj_rekord wywolujesz jako zawartosc classy: "$zb->dodaj_rekord($table, $data=array());", skoro ona jest zdefiniowana osobno, a nie w classie "db" ? 2. Nawet jak poprawisz juz wywolywanie tej funkcji to pamietaj, aby parametry przekazywane do niej byly prawidlowe. W samej funkcji dzialasz...
Dziwne, bo to nie powinno mieć znaczenia... Definicja mówi, że funkcja szuka elementów w pierwszej, które nie występują w drugiej i kolejnych. Typ nie powinien wpływać. No ale dobrze, że napisałeś. :) Niemniej, i tak bym radził jednak użyć zapytania - mniej przekazywanych danych i sumarycznie powinno być mniejsze obciążenie, chyba że serwer bazodanowy...
Przy kompilacji tego programu nie masz żadnych ostrzeżeń? Dziwne. W każdym razie jeśli odebrane_dane są typu tablicowego, a funkcja USART_Transmit (char data) przyjmuje jako argument typ char, który w żaden sposób z tablicą jest niekompatybilny to masz problem. Najpewniej kompilator generuje co najmniej ostrzeżenie w tym momencie, bo to co robisz to...
ja to potem wszystko zrobię ;) tylko robiłem to to po kolei i kompilowałem i napotkałem na to że tak się dzieje ;0 ale musiałem wstawić getchar() gdyż moim zdaniem program za szybko leci i nie moge podać imienia tylko odrazu wiek, więc wstawiłem te getchar(); co poprawić w tym feagmęcie ? ;)
Nie wiem co chcesz osiągnąć, przykro mi nie wiem z jakiej biblioteki korzystasz, co ona robi pod spodem itp. Ale jeśli ma deklarację jak powyżej to możesz zrobić coś takiego char string[20] = "ucze sie"; co oznacza że wypełniasz tablice "string" znakami "ucze sie" + znak końca łańcucha 0 przekazując etykietę tablicy do funkcji przekazujesz adres na...
Witam, piszę w tym temacie, ponieważ mam podobny problem. Napisałem funkcję liczącą wyznacznik macierzy n-wymiarowej, jednak wyrzuca mi ona niesamowite liczby (typu -124134235) dla macierzy większych niż 2-wymiarowych o elementach ~4 (czyli absurd). Znalazłem ten temat i wydaje mi się, że schemat jest taki sam jak w kodzie powyżej z pascala. Jeśli ktoś...
Proponuje poczytac o funkcjach i przekazywaniu do nich parametrow przez wskaznik. Jest pelno kursow w internecie.
Poprzednik chyba nie do końca załapał ideę przedstawionej tablicy. Najprościej - stwórz funkcję, której będziesz przekazywać punkt początkowy i końcowy (dwie tablice 3-elementowe, jednowymiarowe). W samej pętli zrobisz tak (pseudokod): dla i = A do D zrób: dla j = i+1 do D zrób: wynik[i][j] = oblicz_odleglosc(punkty[i],....
Przeniosę to przerwanie i tablice do plików .c. Ale wtedy w pliku głównym .c mam includować plik przerwania .c? Myślałem, że tam inkluduje się tylko pliki .h Nie musisz include'ować pliku .c, a nawet nie powinieneś. W Makefile dopisz go tylko do plików źródłowych (SRC = $(TARGET).c przerwanie.c inny_plik.c itd.) a linker odwali resztę roboty. Zostało...
Przy czasach na poziomie sekund, minut to nie jest to żaden problem. Jeden timer ustawić na stałe przerwanie np co 100ms, w przerwaniu od tego timera przeglądać jakąś tablicę, w której każdy jeden element odpowiada jednemu programowemu licznikowi. Zmniejszać liczniki w elementach w tej tablicy, po czym po wyzerowaniu się wywołać jakąś funkcję. W moich...
Problem w tym, że ja z asemblerem nie jestem obeznany. Coś tam kiedyś się uczyłem jednak nie miałem zbyt dużo wolnego czasu. Mam jeszcze jedno pytanie. Moja funkcja uart_tx wygląda aktualnie tak: [syntax=c]void uart_tx(char temp[]) { wskaznik = temp; LED_ON; UCSRB |= (1<<UDRIE); } [/syntax] W tym momencie ona działa, jednak nie jestem pewny czy...
Ale bez cudzysłowów wyrzuca błąd że za dużo elementów, nie bierze tego jako ciąg elementów do tablicy. A dokładniej jaki błąd? Na pewno zmieniłeś wartości numeryczne na: #define _A "\x0B" //<-- musi być cudzysłów!!! U mnie taki sposób definiowania ciągów znaków przekazywanych do funkcji: LCDPrintText(25, 1, _A _R _U _T _A _R _E _P...
W pewnej bibliotece w pliku C znajduje się zmienna tablicowa o takiej definicji: char8x8 font6x8[] = { ... }; W pliku H jest tylko typedef const rom unsigned char char8x8[8]; Czy jest możliwość aby z poziomu maina odnieść się do tablicy font6x8? Potrzebuje wskaźnika do niej. Gdzie go zdefiniować? Docelowo wskaźnik ten ma być...
Ty nie masz wiedzieć, jak działa funkcja. Ona działa po swojemu, a Ty dostarczasz jej tylko odpowiedzi na pytanie, który z dwóch elementów jest większy (a ściślej: jaka jest relacja pomiędzy tymi dwoma elementami). To właśnie realizuje przekazywana funkcja. Jak będzie to random, to ustort zrobi wylosowaną tablicę. A zwracać możesz wartość mniejszą niż...
Podstawowe operacje porównania, wyszukiwania można wykonać przy użyciu formuł. Aby robić naprawdę ciekawe rzeczy w VBA to trzeba użyć tablic: jednowymiarowych, dwuwymiarowych, dynamicznych. Trzeba umieć iterować po tych tablicach, wywoływać funkcje(z parametrami przekazywanymi przez wartość albo referencje), procedury, które zwracają pojedyncze wartości...
Gdzie będzie zmienna _bit jest bez znaczenia, ten kod zawsze musi działać poprawnie. Jeśli zależy ci na prędkości to zamień switch/case na tablicę zawierającą kolejne maski na odpowiednich indeksach. Masz gwarantowany stały, najkrótszy możliwy czas konwersji. Co do przekazywania wskaźnika do IO - jeśli parametr nie jest volatile to kompilator nie wywala...
Witam, Piszę program , w którym stworzona tablica jest przekazywana do funkcji w celu napisania tekstu na wyświetlaczu. Tylko dla każdego wyrazu muszę tworzyć kolejną tablice, jak mogę tego uniknąć? Czy da się zmienić wartości w już zadeklarowanej tablicy? , zależy mi na pamięci bo piszę do mikrokontrolera. Zamieszczam kawałek kodu żeby było widać o...
Przez rozmiar programu miałem na myśli umieszczone we flashu także dane. Jeśli bym chciał umieścić 10 tablic po 10k bajtów to jak należałoby zmodyfikować program? Zamiast przekazywać funkcji wskaźnik f(const uint8_t *buf) miałbym przekazać wartość 32-bit f(const uint32_t buf) i traktować ją w ciele funkcji jako adres? Tylko w jaki sposób uzyskać adres...
Nie ma czegoś takiego w standardzie jak promocja z np int do const int. Promocje możesz mieć jedynie typów, tzn funkcja jako parametr przyjmuje float a jako argument podasz inta - wówczas masz promocje inta do floata. Ten modyfikator (jako parametr funkcji) nie mówi o tym, że argumenty wkładane do funkcji mają być stałe, tylko że po podaniu argumentu...
czyli w funkcję get_kbd muszę poszerzyć możliwość przyjęcia dodatkowych parametrów w moim powyższym przypadku - parametr az Można tak, można inaczej. Parametrami dla funkcji przekazywanej przez wskaźnik mogą być parametry aktualne funkcji wywołującej (jak w tym przypadku) lub np. zmienne lokalne czy globalne. Istotą tej konstrukcji jest wymienność...
Nie trzymasz się typu zadeklarowanego w funkcji oraz używasz funkcji do wysyłania "łańcuchów" (czyt. przekazywany jest wskaźnik na tablicę z ciągiem znaków) żeby wysłać jeden znak. Poprawne użycie byłoby zapewne takie char cyfra=7; //binarnie 00000111 char tablica[5]; int liczba=1234; LCD_WriteData(cyfra+0x30); //znak ASCII dla cyfry 7 czyli 0x37 itoa(a,tablica,10);...
Jeżeli musisz przekazywać tablicę jako argument, to przekaż także jej rozmiar jako argument. sizeof(Tablica) dla globalnej zmiennej Tablica (tej wypełnionej) zwróci poprawny rozmiar. Ale argument funkcji maskuje głobalna zmienną. Rozmiar argumentu będzie zawsze 4, bo tak jest zdefiniowany.
Myślałem żeby załaczyć Ci mój projekt ale - 1. jest komercyjny 2. jest zbyt myślę złożony Tak że na szybko sama idea - jest to zrobione w 5 minut i skrypt linkera powinno sie przerobic lepiej. Funkcje też są do kitu - bo parametry trzeba przekazywać wskaznikiem do nich) wtedy nie jesteś ograniczony ich ilościa itd itd. Nie jest to reentrant i bezpieczne....
Muszę powiedzieć, że ogarniam z grubsza dla czego tak musi być (te przekazywane argumenty sender i e), ale nie wiem dlaczego konwertujesz sender na checkboxy i nie wiem nic o tagach. Wiem, nie będziesz mi to tłumaczył wszystkiego o co zapytam ale jak możesz słowo komentarza napisać odnośnie tego kodu. Co się dzieje i dlaczego? [syntax=vbnet] c = Convert.ChangeType(sender,...
Kompilator nie znalazł funkcji void WyświetlPlansze(int, int), bo nie była zdefiniowana. Jest tylko prototyp tej funkcji w pliku ruch.h. Zdefiniowałeś funkcję o tej nazwie void WyświetlPlansze(int gracz_X, int Pole[2]) - ale ta funkcja nie jest tą zadeklarowaną - to jej przeciążona "siostra" - zamiast dwóch argumentów typu int przyjmuje int i tablicę....
UART jest skonfigurowany poprawnie w CubeMx. Sprawdzałem. Jest nadawanie i odbiór. Z kolei jednoelementowa tablica, która jest następnie przekazywana do funkcji HAL_UART_Transmit_IT jest zdefiniowana globalnie, więc dane nie powinny ginąć. Dalej nadawanie wygląda tak, że zdefiniowana jest funkcja obsługująca przerwanie od nadawanie przez UART. W obsłudze...
Może się mylę, ale ze stacktrace'a wynika, że funkcja SyncWrite powinna przyjmować wskaźnik na tablicę Errors, a w twoim wywołaniu przekazujesz ją przez out , zatem czy nie powinieneś przekazywać tablicy SyncErrors również przez referencję którą musisz zainicjować jak pozostałe kolekcje w tym wywołaniu ?
Przekombinowane i źle zrobione. Doczytaj wiadomości o wskaźnikach. tab1 = tab2 jest niemożliwe do wykonania. Zresztą po tym co napisałeś widać, że nie masz pojęcia czym jest wskaźnik i jak funkcjonuje. A jeśli w rożnych momentach programu chcesz wykorzystywać różne tablice przekazuj funkcji wskaźnik do danej tablicy. Jeśli nie chcesz robić tego jako...
No przecież napisałem, że się nie da. Wskaźnik nie przechowuje żadnej innej informacji poza adresem (początku) zmiennej. W związku z tym, jeżeli funkcja potrzebuje rozmiaru, to trzeba go przekazać jako dodatkowy argument. Kolejny raz już nie będę tego powtarzał. Oczywiście, można sobie wszystko opakować w pseudoobiekty w stylu typedef struct {...
Zasadniczo po pierwsze, do funkcji można przekazywać nie tylko wskaźniki, ale i tablice: void func(uint8_t array[][6]) { ... } Podobnie jak przy deklaracji samej tablicy - można pominąć "skrajnie lewy" wymiar. Spróbuj czy takie coś by nie działało jeśli dodasz atrybut PROGMEM do tego parametru. Po drugie zaś - parametr PROGMEM musisz podać również do...
Krzysztof przecież przekazując jako parametr tablicę w ten sposób: Natomiast zmienne tablicowe jako całość (bądź część) zostają przekazywane do funkcji ZAWSZE przez wskaźnik To nie jest jakaś magiczna właściwość, po prostu nazwa tablicy jest wskaźnikiem na jej pierwszy element.
Nie miałem jeszcze struktur. Musze zrobić to bazując na materiale który był do tej pory. A było: 1.Podstawowe typy danych. Stałe i zmienne. Podstawowa obsługa funkcji printf i scanf. 2.Operatory: arytmetyczne,relacyjne, logiczne, inkrementacji i ich priorytety. Pętle i instrukcje warunkowe. Konwersja typów. 3.Tablice i łańcuchy. Wskaźniki i ich arytmetyka....
Argumenty do funkcji w C są przekazywane przez wartość, więc chcąc przekazać większą ilość danych, jak tablicę, to musisz przekazać ją przez wskaźnik. Przy zmiennej długości normalne jest, że trzeba też podać rozmiar danych. Tak jak chcesz zrobić jest dobrze. Można ewentualnie pomyśleć o definicji jakiejś struktury, ale to mogłoby skomplikować prostą...
Proszę o pomoc z poprawieniem kodu, którego zadanie jest stworzenie prostego kalkulatora pracującego w odwrotnej notacji polskiej. Na przykład: 3 56+ 2* czyli (3+56)*2. Czy może ktoś poprawić funkcję stod, żeby działała poprawnie, tzn. konwertowała przekazany jej string na liczbę typu double? W programie najpierw wczytywany jest string. Potem kolejne...
Mam zrobić program, w którym użytkownik wybiera jakie sortowanie przeprowadzić na danych liczbach. Jest do wyboru kilka sortowań (bąbelkowe, quicksort, insertion itp.). User też wybiera jakie liczby ma sortować(Rzeczywiste czy całkowite). Mam do tego dwie tablice w procedurze, przekazywane do funkcji sortujących. Mam dwie funkcje dla sortowania bąbelkowego...
To co napisał miszcz310 ma się nijak do AVR, ani do C. Takie zabawy można czynić jak się ma dużo pamięci RAM oraz do dyspozycji język C++. Jednak dalej uważam, że posłużenie się wskaźnikiem będzie szybsze. Napisałem, że to ma być dla wersji na komputer. Nie wiem dlaczego ma być to wolniejsze i dlaczego potrzebuję do tego C++. Ja bym wolał to wszytko...
(at)rogeros Koledze (at)rajszym chodziło o pierwszy parametr przekazywany do HAL_UART_Receive_IT, czyli o huart2. Według mnie powinno tam być huart2 zamiast &huart2 (jako że parametr funkcji przykrywa globalny symbol huart2). Drugi parametr również był przekazywany w sposób który generuje warning. Ponadto usuń volatile z deklaracji tablicy Received....
Dzięki za odpowiedź ale nie o to mi chodzi. Wiem że mogę zdefiniować wcześniej w programie stałą, ale chciałbym to obejść. Mogę zrobić też osobną funkcję obsługującą takie przypadki ale nie tędy droga. Ogólnie funkcja ma przyjmować argument przez wskaźnik bo w 90% przypadków przekazywana będzie tablica. Definiowane 'tymczasowej zmiennej' ( o ile w C...
Bootloader u mniej odpowiedzialny jest jedynie za wymianę właściwej aplikacji. Ma on tylko jedną funkcję widzianą na zewnątrz umieszczoną pod stały adresem w zarezerwowanej części Flash. Poprzednia aplikacja musi pobrać nowy firmware i wywołać tą funkcję. Jako jej parametr przekazuję tablicę wskaźników do funkcji jakie kompilator umieścił w pamięci...
Ale czemu nie widzą deklaracji? Chcąc na niej operować, to tą deklarację trzeba im udostępnić. Wówczas wg nazwy możesz w parametrach przekazywać poszczególne elementy tablicy tej struktury bez udostępniania całej tablicy jako takiej. Jeśli jednak chciałbyś np. udostępnić w trybie tylko do odczytu jakiś element, to już bez obiektowości niewygodnie to...
Nie bardzo jednak widzę potrzebę atomowości pozyskiwania wskaźnika. Poza tym, skoro przekazuje ten argument w wywołaniu funkcji to jak mam zapewnić atomowość przekazania i właściwie po co? Wróćmy jeszcze raz: - ISR dodaje w dowolnej chwili nowe elementy tablicy struktur ustawiając flagę dla pętli głównej, że jest co najmniej jeden, nowy element. Prosta...
Yeah, działa, dzięki za pomoc. Coraz bardziej zaczyna mi się podobać ten język. Jeszcze jedna rzecz w temacie. Podaję jako wskaźnik pierwszy element tablicy (o indeksie zero : tab C: int tablica[ 20 ]; void FunkcjaC( int* ); /* wywolanie */ FunkcjaC( tablica ) /* lub FunkcjaC( &tablica[ 0 ] ) */ ASM: ;...
Niby dobrze jest zrobione tylko: (kopiowanie tych tablic) jest to sensowne czy może jest jakiś lepszy sposób na zrobienie tego Hm... Może i gdzieś jest sensowne ale masz fajny szablon klasy vector z biblioteki STL. Można to nazwać inteligentną tablicą, rozszerzasz tablicę wtedy kiedy chcesz na przykład: [syntax=cpp]#include <iostream> #include...
Zrób sobie tablicę int czy byte o n elementach gdzie sobie wpiszesz nazwy pinów. Możesz założyć n=2. Zrób funkcję która zeruje 0 /zaświeca 1/zmienia stan 2 wszystkie ledy zgodnie z tablicą void nazwaDlaWieluPinowWpisanychDoJednejTabli... nowyStanPinu,int nazwaTejTablicy[], int iloscElementowTablicy)). Jak będziesz chciał zmienić stan wszystkich pinów...
jeśli wyraz 'wskaznik' jest identyfikatorem tablicy to ampersand przed nim jest zbędny (w ten sposób do funkcji przekazujesz adres wskaźnika a nie tablicy). Możesz też napisać MojaFunkcja(&wskaznik[16])
w funkcję do której przekażę jako argument tablicę char-ów, gdzie o tym poczytać? [url=http://cpp0x.pl/kursy/Kurs-C++/Pozi... Jest tam też wiele innych użytecznych lekcji ;)
No problem jak mawiają Rosjanie. "Dzień dobry Towarzyszu Wojtku. Niestety mało robiłem na TB31202 i nie mogłem znaleźć do niego konkretnych opisów. Kiedyś miałem zadanie przestroić radiostację z pasma 470MHz na 430MHz. Zmiana częstotliwości w procesorze radiostacji była niemożliwa, dlatego też zrobiłem tak: linie sterujące z procesora na TB31202 przerwałem...
Ja tam nie widzę żadnych wskaźników. O fajnie że wpadłeś, bo tu trzeba fachowego oka. Chodzi mi o to że obiekt klasy (czyli jego pola i tablica metod wirtualnych) jako lokalny w funkcji, tworzony jest na stosie. Czyli faktycznie przekazując obiekt jako rezultat domyślam się że po prostu niejawnie jest przekazywany jako wskaźnik na obiekt a nie całość...
Nie jestem w stanie uzyskać takiej częstotliwości PWM gdyż mega pracuje na 16MHz czyli max może on wynosić ok 8MHz :( Co oznacza to D PWM :?: atom1447 -> W taki sposób podaję próbki: [syntax=c] char ReadFile(unsigned int FileNr, unsigned char *buffer) { unsigned long NextClus; unsigned int index=0; unsigned long index1; unsigned long FirstSector;...
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...
Jeśli zdefiniujesz tablicę jako const (czyli zawiera elementy, których nie wolno zmieniać) to jak chcesz je zmienić? Sprzeczność logiczna. Poza tym zamiast przepisywać zawartość tablic, nie prościej zmieniać wskaźnik, aby wskazywał na tablicę, której należy użyć w przerwaniu? Przepisywanie tablic jakie robisz to nie tylko marnowanie czasu procesora,...
Poznaje i oprogramowuję kolejne elementy zestawu Mini-DK-2 aktualnie na tapecie jest wyświetlacz LCD na kontrolerze SPFD5408B. W przyzakładowych programach od producenta zabrakło funkcji pozwalającej wyświetlenie obrazka. Analizując zawartość kodu GLCD.c zauważyłem, że wszystkie funkcję wyświetlające np. linie, tekst wykorzystują funkcję rysującą punkt...
//tablica przechowuje ciąg n znakow. W każdej komórce tablicy przechowywana jest litera jako wartość typu char. Napisz program zawierający funkcję która zlicza w tej tablicy liczbę dużych liter, malych liter, cyfr i innych znakow.Tablica oraz jej rozmiar są przekazywane do funkcji jako argumenty wywołania. Funkcja zwraca strukturę zawierającą cztery...
Proszę bardzo - pierwsza podstawa - funkcje str_XXX nie należą do kompilatora tylko do libc. Napisałeś to tak jakby istniały w ogóle jakieś funkcje które należą do kompilatora. Naprawdę nie wiem po co to przytoczyłeś??? A wg ciebie wszystkie funkcje są realizowane przez biblioteki zewnętrzne? Ciekawe rzeczy prawisz... Bardzo się cieszę, że wielokrotnie...
Fuuu... jaki nieładny main, powinien zwracać int i pobierać tablicę parametrów. Funkcja main, kiedy kończy się bez błędu powinna zwracać wartość 0, wartość ta jest przekazywana do procesu który wywołał nasz proces, jeśli był to program wywołany z wiersza poleceń to może być odczytana przez zmienną ERRORLEVEL. Zero oznacza poprawne zakończenie pracy...
Należy pamiętać o 2 rzeczach, języku C samym w sobie - jak budować funkcje, przekazywać zmienne, jakie są typy zmiennych i z których korzystać, jak korzystać ze struktur, tablic i wskaźników, jakie operatory itp. Oraz rzecz druga - jak korzystać z konkretnych rozwiązań dla AVR - piny, porty, rejestry, liczniki, przerwania, pamięć EEPROM, pamięć FLASH....
Ok, kolejny problem. Gdy w funkcji main() deklaruje tablice char*tab i zmieniam jej rozmiar w innej funkcji, do której przekazuje tą tablice, przy użyciu tab = new char[rozmiar] to ta tablica nie jest już "widziana" w kolejnej funkcji wywoływanej zaraz po tej w której zmieniam rozmiar. Co w tym zrobić?
pomysl 1. przekazywac do funkcji wskazniki do a i b pomysl 2. przechowywac a i b w tablicy dwuelementowej i zwracac wskaznik do niej :P
...Ponadto tablica w kodzie mickpr jest zadeklarowana globalnie, czego podobno należy unikać. Czy dzięki wskazaniu pierwszego elementu tablicy zyskamy dostęp do całej? Czy wewnątrz funkcji da się wtedy zainicjalizować tablicę w ten sposób : tab = {{.....}, {.....}, {.....}} ? Ja założyłem, że zawsze znamy rozmiar tablicy. Autor nie powiedział,...
funkcja sortować tablica tablica dynamiczny funkcja funkcja zwraca tablica
ustawić rozrząd skoda octavia climatronic regulacja automapa głosy
smugi wydruku rysunek techniczny
Sterowniki do skanera Tevion MD 90090 - alternatywy i rozwiązania Materiały i właściwości zbiorników higienicznych