Poproszę o przykłady w podobny sposób jak powyżej dałem do pojedynczej zmiennej, bo nie rozumiem tego i już mnie nie powiem co strzela. W skrócie to co zrobiłeś nazywa się referencja, jest to taki niejawny wskaźnik. Wskaźnik wskazuje na adres w pamięci w którym znajduje się zmienna. Za dużo by to opisywać. Po prostu przeczytaj w tej kolejności: [url=http://pl.wikibooks.org/wiki/C/Wska...
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.
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ć...
Źle przekazujesz Id do funkcji, mały przykład do uruchomienia w symulatorze: [syntax=basic4gl]$regfile = "m88pdef.dat" $crystal = 20000000 $baud = 19200 $hwstack = 64 $swstack = 64 $framesize = 64 Dim Tablica(4) As Byte , Tekst As String * 12 Declare Function Test_funkcji(byref Osa As Byte) As String * 6 Tablica(1) = 10 Tablica(2) = 20 Tablica(3) =...
Deklaruję sobie funkcję w ten sposób: void funkcja (uint8_t tablica[6]); Gdy wywołuje ją: uint8_t tablica[] = {0,1,2,3,4,5}; funkcja (tablica); Wszystko jest ok. Jak jednak wywołać ta funkcję, żeby nie deklarowac za każdym razem tablicy. Chodzi mi o coś w stylu funkcja ({0,1,2,3,4,5});
C18 czy CX8?
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,...
Witam forumowiczy ;) mam problem z programem:/ a mianowicie chodzi o to że nie mam pojęcia jak przesłać tablicę struktur do funkcji tak aby można było w funkcji modyfikować tą tablicę (przekazywanie przez zmienną). Chcę zrobić bazę danych i muszę w funkcji dodaj(); dodawać nowe osoby a nie wiem jak to się robi w języku C. w C++ wiem jak to zrobić ale...
Dziękuje za delikatne rozjaśnienie w głowie, zaraz zabieram się do szukania materiałów w internecie... Właśnie o to mi chodziło-pomysł na realizacje. Jestem pozytywnie rozczarowany wiadomością iż programowanie jest tu praktycznie zbędne. Pozdrawiam
Hasła do google odpowiednio: przekazywanie przez wskaźnik przekazywanie przez referencje zwracanie przez wartość
Uwagi? Przekazywanie tablicy w ten sposób = rozrzutne gospodarowanie stosem (czyli wielki błąd).
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...
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
Niestety nie ma tak latwo. Przekazywanie tablicy dwuwymiarowej (podobnie dla wiekszej ilosci wymiarow) do funkcji/metody mozna jednak rozwiazac na kilka sposobow: 1. Jesli znana jest wartosc drugiego wymiaru (ilosc kolumn) to mozna to zrobic w nastepujacy sposob: //deklaracja void setAll(float [][3]); //rownowazne z: void...
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.
Trzeba do tego ajaxa użyć spróbuję późnym wieczorem to Ci złożyć, załącz te pliki tekstowe bez punktów w wiadomości
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 ;)
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...
Przekazywanie tablic w języku "C" odbywa się tylko poprzez wskaźniki tak więc nie mogą być stosowane jako parametry funkcji i wartości zwracane przez funkcje To jak nazwiesz to? [syntax=c]#include <stdio.h> #include <stdlib.h> void f(int a[][3]) { a[1][2] = 123; } int main(void) { int a[3][3]; a[1][2] = 0; printf("%d\n", a[1][2]); f(a);...
Pisze bez kompilatora. Osobiscie uwazam, ze przekazywanie tablicy przez parametr w tym przykladzie bedzie glupota, wiec po czesci skorzystam ze zmiennych globalnych. Moga wystapic jakies przepelnienia, ale mam nadzieje, ze nie bedziesz uzywac tak duzych liczb. uses crt; type tab=array[1..10] of real; var tablica:tab; i:byte; procedure wczytaj(j:byte);...
zeby zrobic sesje nalezy na samym poczatku pliku - jeszcze przed wyslaniem naglowkow wstawic session_start(); a następnie odwoływać się do globalnej tablicy $_SESSION, np: $_SESSION['login']=$login;
(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 kodzie widze, ze masz troche pomieszane C z C++, ale takie jest moje skromne zdanie i moge sie mylic. Pozatym nie wiem czy to wstepnie tak napisales zeby doprowadzic program do uzywalnosci ale macierze sie mnozy troche inaczej, polecam poczytac na ten temat: http://www.dimmension3.spine.pl/download... Co do samego...
1. Kod, tak jak pokazałeś, to proste/czyste C nie C++, więc właściwie powinieneś się dookreślić... 2. Jeżeli C - przekazywanie tablic do funkcji odbywa się przez wskaźnik i funkcja operuje bezpośrednio na przekazanej tablicy, a nie na jej kopii - nie ma zatem potrzeby (i możliwości) jej zwracania. Tym bardziej funkcja typu int nie może zwrócić wyniku...
A co to za "twór"? Tablice przekazujemy w C przez wskaźnik do niej (nazwę tablicy), a Ty nie dość, że chcesz przekazać przez wartość, to jeszcze robisz to w DEFINICJI FUNKCJI? Pokaż wywołanie tej funkcji (writejpegfile) z funkcji "main". ------------ Jeśli w main masz tą tablice zdefiniowaną jako: data1 data1 [] w funkcji writejpegfile - to wskaźnik...
Kompilator mówi wprost: test.c: In function ‘main’: test.c:11: warning: initialization from incompatible pointer type test.c:17: warning: passing argument 1 of ‘pobierz’ from incompatible pointer type Chyba sam widzisz, że int (*wsk) cdecl> explain int (*wsk)[2] declare wsk as...
to skoro padła odpowiedz jak poradzić sobie z problemem to powiem co poszło nie tak. w językach kompilowanych, na przykład C oprócz zwykłej tablicy istnieje także statyczna czysta tablica. [syntax=c]const char tablica[liczba][/syntax] gdzie liczba to naprzykład [syntax=c]#define liczba 100[/syntax] podczas przejścia preprocesora jak kompilator widzi...
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...
Magiczne słowo static daje dokładnie to samo co zmienna globalna. Przekazywanie wyniku przez zmienne globalne owszem jest w niektórych przypadkach dobre lub jedyne możliwe (z przerwania do kodu), ale pomiędzy funkcjami - nigdy. Przyjmijmy, że mamy n funkcji, każda może zwrócić tablicę o rozmiarze m. Jeśli każda funkcja przydzieli sobie tą tablicę mającą...
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.
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,
Może od d.. strony do autora postu. Co by się stało gdyby (tak jak się upierasz w przekazywaniu przez wartość, czyli przekazywaniu lokalnej kopi tablicy) mając do dyspozycji w procku np. 2KB RAM przekazałbyś tablicę o rozmiarze np. 1,5 KB ? Twój progam poszedłby natychmiast w krzaki z racji braku pamięci RAM więc przekazywanie przez adres jest metodą...
proponuje urzyc referencji void funkcja(int &x) { x=10; } main() { int x=20; funkcja(x); printf(x); return 0; } w wyniku uzyskasz 10 oczywiscie mozesz dac w prarametrze cala tablice
Dokładnie. Napisz w jakim elemencie masz problem, co chcesz uprościć i dlaczego - w końcu to Twój kod więc wiesz gdzie masz elementy które nie wiesz jak inaczej napisać. Pierwsze sugestie : 1 Podziel to na pliki 2 Podziel to na warstwy w imię SRP 3 Refaktoryzacja żeby zachować DRY 4 Usuń potworki styli bool shoot_enemy(char tab[][11],...
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...
(at)szczukot korzystałem z algorytmu CRC podanego w tym wątku, ale po przepisaniu na c++ nie działał mi poprawnie, tak samo żaden inny z neta. Ale minionej nocy wszystko się wyjaśniło i już działa. Trzeba przekazywać tablicę o typie zgodnym z tym, na którym pracuje algorytm, czyli potrzebna jest 16 a nie 8 bitowa tablica (uint16_t zamiast char). Problemem...
O ile mi wiadomo, nie ma połączenia między ENABLE_DRIVER_LED a NTP. Możesz to jednak sprawdzić sam: https://github.com/search?q=repo%3Aopens... Definicja ENABLE_DRIVER_LED zasadniczo umożliwia jedynie wpisy sterowników LED w tablicy drv_main.c, a także umożliwia przekazywanie kolorów do sterowników...
Tomqu z podanych przeze mnie linków ściągnij przykład 04 i podmień w nim main.c na: [syntax=c]#include"main.h" //**************************************... #define BUF_SIZE 8 // definiujemy bufor o rozmiarze 8 bajtów (musi byc potega dwójki dla tego sposobu!!!) // definiujemy maskę dla naszego bufora #define BUF_MASK...
Jak to, nie możesz zadeklarować? Jedynym sposobem w C na problem "buffer overflow" jest przekazywanie zawsze rozmiaru wraz ze wskaźnikiem na bufor/tablicę. Wskaźnik przekazuje tylko adres zmiennej. Z samego adresu nie da się wywnioskować, ile jest pamięci dostępnej pod tym adresem. sizeof() działa na typie danych, tzn. tylko zwraca informacje ile miejsca...
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...
Witam. Mam problem. 2 dni temu podczas jazdy około 40 km/h prędkościomierz kilkakrotnie wychylił się nawet do 160 km/h. Potem wszystko wróciło do normy. A dziś od rana zarówno prędkościomierz jak i licznik kilometrów umarły całkowicie. Podobno tam jest elektroniczne przekazywanie informacji o prędkości. A w skrzyni podobno jest czujnik HALLA (ale gdzie...
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.
Nie twierdzę że to nie będzie działać (bo czuje sie wywołany do tablicy), ale że sprawność będzie na niskim poziomie w porównaniu do konstrukcji w których rurka ma duża powierzchnię styku z blachą-absorberem (ok 1/2 średnicy rurki) gdzie przekazywanie ciepła następuje "bezpośrednio" (przewodzenie) a nie przez "na odległość"
Niestety nie załatwi, co wynika z pewnych założeń języka. Tablice są elementami przekazywanymi przez wskazanie, musi więc istnieć możliwość pobrania adresu elementu tablicy. A jak wiesz, nie da się pobrać adresu pola bitowego... no i mamy klops.
Hi, Popatrzyłem sobie jeszcze w te tablice routingu i jedna rzecz mi umknęła, tj. Nie zauważałem, ze sieci po stronie klienta (tam gdzie masz Rasbery) to 192.168.100.0/24 i wynika z tego, ze na serwerze vpn po zapięciu tunelu pojawia Ci się wpis do tablicy routingu serwera : Miejsce docelowe w sieci Maska sieci Brama Interfejs Metryka 192.168.100.0...
Pytanie czy dochodzą do komputera. Jeśli nie to może coś blokuje przekazywanie ARP na switchu routera. A jeśli przechodzą to być może oprogramowanie windows'ów robi coś dziwnego. Kiedyś np widziałem urządzenie telekomunikacyjne w którym nie zaimplementowano wywłaszczania wpisów w tablicy ARP. Jak urządzenie raz poznało powiązanie MAC adres - adres IP...
Przekazujesz liczbę z tablicy, a argument funkcji na 99.9% jest wskaźnikiem i drugie tyle procent koniec wysyłania musi być zakończonym znakiem terminatora '\0', bo tego na pewno wymaga ta funkcja. [syntax=c]char buf[2] = {'\0'}; buf[0] = tab1[2]; lcd_str(buf); [/syntax]
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...
Trzeba było od razu napisać, że dostałeś taki kod na kolokwium, bo to zmienia postać rzeczy... oraz moje zdanie na jego temat. Teraz twierdzę, że kod jest prawie genialny w swoim zagmatwaniu i pewnie też taki miał być w zamyśle tego, kto to układał. Ale do rzeczy. Wbrew temu, co Ci się wydaje ostatnia i zresztą jedyna operacja zapisu do zmiennej tablicowej...
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 ?
Nie jest przekazywana tablica, tylko wskażnik na jej pierwszy element. Napisanie tablic zamiast wskaźników nic tutaj nie zmienia. Jeśli chcesz by w trakcie wywołania została utworzona kopia, możesz, nieco sztucznie, zawrzeć tablicę w strukturze i taką strukturę przekazac przez wartość jako parametr.
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.
Ściślej - w PHP tablice wielowymiarowe są zawsze tablicami tablic, dlatego wszelkie funkcje operujące na tablicach operują wyłącznie na jednym wymiarze. Chyba, że mi coś umknęło teraz... Jeśli chce się dokonywać manipulacji w danym wierszu (kolumnie - zależnie od interpretacji), to przekazuje się $tablica który to zapis dalej jest tablicą :)
Faktycznie :) Próbowałem ze wskaźnikami, ale nie przez przekazywanie. Faktycznie, tak najlepiej i najszybciej. Ten zapis tablicy i wyświetlania znaków rozgryzłem już. Faktycznie ten Niemiec pomieszał strasznie, ale za to jest bardzo oszczędna ta tablica. Ona ma jeszcze symbole, łącznie ma 224znaki i zajmuje 1074 bajty, czcionka o wysokości 8pix, szerokość...
Ile przydzieliłeś dla tmp? Co jest w tablicy dzmi[mon]? Wyświetl path na lcd czy niema więcej niż 10 znaków. Pokaż więcej kodu.
Zamieniaj " na encję " W ogóle to najlepiej użyj funkcji kodującej encje. Ponadto pamiętaj, aby wartość samego parametru value była objęta w pojedynczy lub podwójny cudzysłów. Tak na marginesie - niepoprawnie zapisujesz użycie zmiennej tablicowej jak również niepoprawnie zapisujesz nazwę klucza tablicy asocjacyjnej. Winno być: echo "{$r
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...
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...
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.. DNS http://pl.wikipedia.org/wiki/DNS Bramka domyslna Bramka domyślna jest routerem, który potrafi poprawnie przekazać dalej pakiet przychodzący do niej, a skierowany do sieci odległej. Drogę przekazywanego pakietu wyznacza na podstawie swojej tablicy routingów. Routerem może być: komputer z systemem umożliwiającym przekazywanie, czyli routowanie...
[syntax=cpp]int tablica_wylosowanych[ilosc_w_puli]; for(int i=0;i<ilosc_w_puli;++i) tablica_wylosowanych[i]=i; for(int i=0;i<ilosc_losowanych;++i) { int p=i+rand()%(ilosc_losowanych-i); int tmp=tablica_wylosowanych[i]; tablica_wylosowanych[i]=tablica_wylosowa... tablica_wylosowanych[p]=tmp; }[/syntax]
a skąd moja biblioteka ma wiedzieć co to jest PINB i PORTB?;) Wskaźnik przekazuje się z zewnątrz, biblioteka nic nie wie co to jest PINB i PORTB. Biblioteka ma w tym przypadku dostęp tylko do wskaźników wskazujących na coś, akurat to my zakładamy, że to coś wskazuje na PINx lub PORTx. Co do uniezależnienia się od io.h: A skąd wtedy program ma wiedzieć...
Czy chodzi ci o automatyczne przekazanie. To sie ustawia w :nadchodzacych połączeniach - przekazywanie wywołania. Wystarczy dla danego numeru wpisac odpowiedni numer listy a w liście ustawiamy w pierwszym polu "*" wtedy dzwoni mnumer który chcemy nastepnie kolekny numer i mozna jeszcze kolejny na ońcu ilośc cyckli 1 cykl to około 5 sekund DDI dla grupy...
a zmieniłes w kazdej deklaracji funkcji argumenty jakie mająbyć przekazywane (teraz musi byc tablica dwuwymiarowa przekazywana, anie jedno...)
podpowiedź: &dest Czy na pewno ? przecież przekazywana jest tablica dwuwymiarowa, więc chyba powinno być tak: [syntax=c]&dest[i][0][/syntax] ??
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]
Graftec to język do organizacji wykonania programu: składa się z kroków i tranzycji. W każdym kroku możesz umieścić fragment programu w IL lub Fupli, w każdej tranzycji tak samo. Wszelkie operacje na tablicach będziesz robił w IL lub Fupli, jak wolisz. Obejrzyj przykładowy projekt w PG5 (Chapter 6 - Graftec). Przekazywanie danych między sterownikami...
Zamiast: procedure dodaj(var ile:integer; t:tablica); powinno być: procedure dodaj(var ile:integer; var t:tablica); Zjadłeś "var" przez co podawane wartości tablicy pozostają w procedurze. Żeby Ci nie pogmatwać: masz przekazywanie zmiennej przez wartość zamiast przez nazwę. P.S. 1.5 godziny przy programowaniu to bardzo niewiele, zwykle robi się to godzinami...
Przekazuj wskaźnik, a tablicę zrób statyczną
Kompilator w funkcji która wywołuje funkcję LCD_WriteText rezerwuje na stosie miejsce dla tej tablicy i przekazuje wskaźnik do tej tablicy funkcji itoa. Dopiero po wyjściu z tej funkcji obszar pamięci przeznaczony dla tej tablicy zostaje zwolniony na stosie.
Nie patrzyłem na całość, ale problem wydaje się być oczywisty: [syntax=cpp]int* Losowanie(const int MAKSYMALNA_LICZBA , const int ILOSC_LICZB) { int aLiczby[3]; // ... return aLiczby; }[/syntax] Adres tablicy (a nie tablica jako całość) jest zwracany jako wynik funkcji, ale jest to tablica lokalna. Oznacza to, że po wyjściu z zakresu (czyli poza nawiasy...
Ok już mi się trochę cała sytuacja rozjaśniła. Dziękuję bardzo. Mam jeszcze jedno pytanie. Jak w takim razie mam przekazać tablicę do tej klasy. Na pewno nie zadziała zwykłe przekazanie adresu jej początku. Czy moglibyście powiedzieć jak to zrobić?? Bardzo proszę o pomoc
Nie chodzi o jakiekolwiek metody logowania bez znajomości danych. Potrzebuję napisać kawałek "softu", który będzie provisionować telefony IP, a jako że jedne mają możliwość ustawienia 1 linni inne 2,4 i więcej to w templacie muszę zawrzeć coś co będzie wiedziało, że dany blok z szablonu ma zostać powtórzony więcej niż raz. Na ten moment problem wydaje...
Może ten fragment ci to wyjaśni: [syntax=delphi]type TIntArr=array of Integer; var A,B:TIntArr; begin SetLength(A,3); A[0]:=111; A[1]:=222; A[2]:=333; B:=A; B[1]:=999; // Zmieniamy w B ... WriteLn('A[1]=',A[1]); // ... zaś zmienia się również A WriteLn('B[1]=',B[1]); SetLength(B,Length(B)); // Baardzo istotna instrukcja B[1]:=666; // Zmieniamy w B ......
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...
Pytanie gdzie do sterownika podać napięcie???Sprawdzałem ale niestety nigdzie nie mogę znaleźć bezpiecznika. Co dziwne instalacja jest fabryczna... Po odłączeniu kości idącej do sterownika centralki i podaniu napięcia zamek zamyka i otwiera drzwi. Wg mnie uszkodzony jest jakiś przekaźnik lub bezpiecznik. Sprawdziłem wszystkie bezpieczniki na tablicy,...
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ć?
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...
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) ...
sposobów jest milion różnych ale tak na szybciora żeby coś uprościć to można np takie komendy trzymać w tablicy i po sprawdzeniu przekazywać tylko do polecenia switch index komendy. Ale i tak będzie trzeba zrobić jakąś pętelkę, która zawsze sprawdzi czy to któreś polecenie z tablicy. Z tym że późniejsza obsługa tego się już upraszcza w tym dodawanie...
Zastanów się, czy liczby wejściowe mogą być ujemne i jak to wtedy będzie działać... Twoje funkcje zwracają pojedyńczy znak, a chciałbyś zwrócić tablicę znaków. Niestety w C funkcja nie może zwrócić tablicy. Albo zastosuj zmienną globalną, albo przekazuj tablicę wynikową do funkcji, np tak: char* odejmowanie(char odjemna[], char odjemnik[],...
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...
Stwórz 3 elementową tablicę wskaźników na tablice; unsigned char PROGMEM *buzia = {buzia0,buzia1,buzia2}; a następnie przekazuj jakoś tak: lcd_send(pgm_read_byte((buzia[a])[][]); Kod poglądowy pewnie nie zadziała od razu :)
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ść...
Hehe. Ale się wątek rozwinął :D Zastanawia mnie tylko to: masz tablicę wskaźników na funkcje przyjmujące jako argumenty 3 parametry. Nawet jeśli kompilator je zoptymalizuje to musi zrobić to w taki sposób, aby ich wywołanie było kompatybilne ze zdefiniowanym wskaźnikiem na funkcje. bo skąd kompilator ma wiedzieć które funkcje będę wywoływał skoro wywołuję...
powinienneś dostać 1"L z tego co spojrzałem do tablicy ASCII. A z drugiej strony - jaką długość w bajtach przekazałeś do funkcji a jak długi jest int, bo może tu tkwi błąd. Tzn. 2 czy 4 bajty na inta? Bo o ile wiem to dla ARMa int jest 32bitowy.
No tak ale jeśli tworzę wskażnik char *ptr, czyli powienien wskazywać na daną w pamięci RAM a przekazuję do niego wskazanie na dana która ma sie znajdować w pamięci Flash. CZyżby to znaczyło że nie ma znaczenia czy do wskażnika zapiszę adres pamięci flash a RAM. Przecież prog_char *ptr to nie jest to samo co char *ptr . Jeden wskażnik powienien wskazywać...
Przyznam rację: bascom jest dobry, ale do PROSTYCH PROGRAMÓW... a do prostych nie nalezy pisanie czegos w rodzaju sprzętowej bazy danych na AVRa. Bascom generuje POWOLNY kod, to jest FAKT. I oblusuje TYLKO 5 poziomów zagnieżdzenia ifów. To tez jest fakt. I TRAGICZNIE rozwiązane przekazywanie parametrów do funkcji? Gdzie w bascomie są WSKAŹNIKI? gdzie...
Przekazuj tylko wskaźnik do tablicy, a nie kopię tablicy... ale akurat tak jest domyślnie.
Ogólnie w moim programie chodzi o to aby po wpisaniu wartości i kliknięciu przycisku "wykres" rysował się prawidłowy wykres mocy od napięcia. Działa to tak że wpisane wartości są zapisywane i obliczane poszczególne napięcia i moce, potem to jest przechowywane w tablicach które to w moim założeniu miały przekazywać dane do wykresu. Działa wszystko, po...
i również przekażę ją do funkcji przez wartość to kompilator może mi ją zoptymalizować i całą tablicę odłożyć na stos? Tablic nie możesz przekazać przez wartość w C tylko przez wskażnik. Tylko struktury i unie (abstrahując od typów podstawowych) są przekazywane przez wartość w C. Więc jak polem struktury będzie tablica to przekazując tę strukturę -...
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...
20 par 'Date' i 'Price' dla różnych akcji) Trza było tak od razu :) :arrow: Marek003 Spróbowałem po Twojemu. Swoją drogą: dlaczego obrabianie pojedynczej kolumny trwa sekundę a tej samej kolumny, tym samym makrem z zapisanymi 39 innymi kolumnami trwa siedem razy dłużej? Być może jest to problem z jakimś obszarem pamięci lub http://obrazki.elektroda.net/25_12784384...
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ś...
1. Więc wprowadź stosowne parametry - nazwę i tablicę (tablice przekazywane są w C zawsze przez referencję niejawną). 2. Każdą pętlę for da się zastąpić pętla while ;)
Witam! Natknąłem się w swojej przygodzie z programowaniem na następujący problem. Otóż jedną z funkcji wykonywanych przez procek ma być sterowanie fazowe obrotami dmuchawy. Udało się uzyskać za pomocą przerwań i timera zmienne opóźnienie w odpowiedzi na detekcję zera. Jako że wystarczy kilka stopni regulacji, zrobiłem to tak, że wartości bardziej znaczącego...
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ć...
Na moim poziomie wiedzy jedyne zastosowanie to przekazywanie przez wskaźniki adresów zmiennych, a nie robienie kopi zmiennych podczas wykonywania funkcji. Z grubsza rzecz ujmując o to chodzi. Jak przy tablicy 4-elementowej wydaje się to fanaberią to przy większych i bardziej złożonych konstrukcjach wskaźniki ratują życie. Oczywiście przykłady z książek...
Dodatkowo, zdecyduj się, czy tablicę ByteOutput przydzielasz w funkcji wołającej i przekazujesz do rc4() (lepsze rozwiązanie), czy przydzielasz wewnatrz rc4() i zwracasz przez wskaźnik. Obecnie (z zakomentowaną funkcja malloc) wskaźnik temp pokazuje w krzaki (nie jest mu nadawana wartość początkowa), więc odwołania do niego z dużym prawdopodobieństwem...
Tak, to dobra uwaga, ale problem pozostał i zdarza się gdy np zrobię tak: api.c: while(1) { (void) get_buffer(&frame_start); (void) modyfikuje(&frame_start); (void) oddaje(frame_start); tab[2]=10; tab[3]=15; } Dopóki program nie dojdzie do linii zmiany danych w tablicy...
przekazywanie tablic funkcji przekazywanie połączeń integra przekazywanie
przekaźnik grzałki pralki whirlpool discman wyłącza zmiana napięcie cewki
Router Acer X6E 5G - brak internetu, diody świecą na niebiesko Jak zmienić język z niemieckiego na polski w XP Deus