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...
Napisałem Ci, co źle robisz: int * dla stringów-NIE const char * Niestety nie mogę sobie poradzić z utworzeniem kolejnej tablicy dlaczego? Co stoi na przeszkodzie?
A w jaki sposób zmienić lang_polish? Nazwa tablicy jest stałym wskaźnikiem do pierwszego jej elementu (o ile pamiętam z książek i studiów). Nie da się w programie zrobić tak, żeby tablica zawierała elementy znajdujące się pod innym adresem. Żeby uprościć: Sama nazwa tak, ale tu chodzi o to, co trzymasz w tej tablicy, a tam w niej musisz trzymać coś...
Indeksy w C zaczynaja sie od zera, czyli 0 - count-1!
A od kiedy to wskaźniki na AVR mają wielkość podwójnego słowa (32-bity)? Może kolega np. zainteresuje się sizeof(typ)?
unsigned char (*tablica) Źle używasz wskaźnika, ot co jest nie tak. Zauważ, że wskaźnik jak nazwa zobowiązuje wskazuje adres pierwszego elementu tablicy cyfry. Inkrementując wskaźnik przesuwasz się po kolejnych adresach, kolejnych elementach tej tablicy. (at)excray, ekspertem nie jestem, ale sama nazwa tablicy jest wskaźnikiem iirc więc jednakowy jest...
W ramach uzupełnienia , przykładu kol. adamusx #include <avr/io.h> typedef struct{ unsigned char stopnieNS[2]; unsigned char minutyNS[2]; unsigned char packet1[8]; unsigned char packet2[8]; unsigned char packet3[8]; }strukturaGPS; strukturaGPS GPS; strukturaGPS *ptr_GPS=&GPS; void test(strukturaGPS...
Nie tyle PROGMEM co const. Usuń const z ikony lub dopisz do bitmap .
Tablice dwuwymiarowe to tablice wskaźników na tablice wartości. Podajesz jedną współrzędną dwuwymiarowej tablicy tabxyz tabzyx[i][j]
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.
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ć...
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...
nazwa tablicy jest wskaźnikiem na jej pierwszy element. funkcje zadeklaruj jako ...(unsigned char* sec) i wywołuj ...(SectorG1). W funkcji odwołuj się normalnie - jak do zwykłej tablicy (sec[i]=...) 4\/3!!
Czemu musisz posługiwać się indeksami? Napisz sobie: [syntax=c]void writecos(const uint8_t font[],uint8_t c,uint8_t e,uint8_t i,uint8_t n,uint8_t w) { twi_write(pgm_read_byte(font[c * e + i + (n * w)])); }[/syntax] i wywołuj: [syntax=c]writecos(ssd1306_fonts_0,c,e,i... writecos(ssd1306_fonts_1,c,e,i,n,w): writecos(ssd1306_fonts_2,c,e,i,n,w):[/sy...
Witam! W języku C zapis: x/=y jest równoważny (w innych językach zapisowi: x = x/y W języku C jest mnóstwo operacji na wskaźnikach, wskaźnikach do wskaźników, tablic wskaźników itp, itd, etc więc wprowadzono ten zapis w celu minimalizacji błędów.
dzięki za informację, ale czy tylko wystarczy odkręcić te cztery śruby? nie ma tam jakichś zatrzasków itp.? i czy tablica wychodzi razem z tym panelem z kratkami nawiewu? Witam, owszem trzeba - wyjąc kratki nawiewów przekręcając je do góry tak aby były w pozycji niemal poziomej i trzeba wówczas pociągnąć je do góry, wyjmujesz w ten sposób kratkę z...
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*)...
Język C nie wspiera dynamicznych tablic wielowymiarowych. Masz dwie możliwości: 1- wykorzystać "tablicę tablic" czyli tablicę wskaźników; 2- użyć tablicy jednowymiarowej i liczyć indeksy "na piechotę". Twój przykład jest zbliżony do metody pierwszej, tzn. tabpix jest u Ciebie wskaźnikiem na wskaźnik, a ponieważ w C wskaźnik na element jest równoważny...
unsigned char * buf_o = &(Pointer->Buffer_O[0]... WriteFile( hCom, &(Pointer->Buffer_O[0]... ... ); Zmieniłbym nazwę pola Thread na CmdStopThread albo coś podobnego.
Krzych12 zmień swój przykład na wzór poniższego: [syntax=c] int main() { volatile unsigned char lcd_text[][16]={"napis","napis2","napis3... volatile unsigned char *wsk_lcd_text; wsk_lcd_text=&lcd_text[2][0]; /* wskaźnik na "napis3" */ wsk_lcd_text[5]='X'; /* przykładowa zamiana "napis3" na "napisX" */ } [/syntax] i będzie dobrze. Powodzenia.
Znajdziesz to w kazdej ksiazce (dobrej) poswieconej C, C++. unsigned char tab[5] = {1,2,3,4} // == unsigned char * YourPtr A wiec najbespieczniej jest zrobic tak (mozna tez przez referencje): unsigned int sumuj(unsigned char * _ucTab) { // ... } // sumuj(&tab[0])
Wszystko stanie się jasne, jak poznasz sposób na "czytanie" typów zmiennych. 1. Zaczynasz od nazwy 2. Idziesz do "końca" w prawo 3. Następnie do "końca" w lewo 4. Nawiasy mogą wyznaczać "lokalne końce". Tak więc Twoja zmienna const uint8_t *Tab[3] to trzyelementowa tablica wskaźników na stałe uint8_t Jak sam widzisz nie da się wyczytać, że sama tablica...
Ponieważ [syntax=c]int *tablica = new int[ile];[/syntax] to wskaźnik na tablicę, czyli wskaźnik, więc używamy [syntax=c]delete tablica;[/syntax] [syntax=c]delete[] tablica;[/syntax] użyjemy w przypadku użycia wskaźnika na tablicę wskaźników, czyli wskaźnik na wskaźnik [syntax=c]int **tablica = new int*[ile]; for (size_t i=0; i<ile; i++) { tablica[i]...
Jeśli znasz rozmiar tablicy robisz coś takiego: [syntax=c]float (*ptr)[x][y] = (float (*)[x][y]) addr;[/syntax] I potem używasz: [syntax=c]float f = (*ptr)[x][y];[/syntax]
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,...
jak to zrobić ale z wnętrza jakiejś funkcji np: char tab1 Możesz sobie zrobić makro: #define TA(x) (sizeof(x)/sizeof(char*&... Chyba, że nie zrozumiałem, o co chodzi...
void (*funkcje) Prawie dobrze. Mozna to rozwiazac w taki sposob, jak zaproponowal krzychoocpp (definicja typu daje pewna swobode). Ew. mozna to zrobic w ten sposob: #include <iostream> //rozmiar tablicy funkcji #define NOF 3 using namespace std; void f0() { cout << "f0" << endl; } void f1() {...
Nie ma żarówek, całe oświetlenie i kontrolkownia jest realizowana na ledach SMD.
Bez ampersanda. Nazwa tablicy już jest jej adresem (w zasadzie adresem jej pierwszego elementu): wsk_rejestr = rejestr;
Te siedem adresów, to adresy kolejnych komórek tablicy - wskaźniki zajmują po 8 bajtów, więc każdy jest o 8 większy. Adresy ciągów tekstowych możesz wyświetlić tak: [syntax=c] for(int i = 0; i < 7; i++) { cout << (void *)(titles[i]) << endl; } [/syntax]
Może coś takiego będzie działać, sprawdziłem tylko, że się kompiluje: // definicja tablicy wskaźników do funkcji void (*f_Function_table[])... PROGMEM = { f_1, ... f_5 } //----------- // wywołanie void (*f)(); // pośredni wskaźnik na funkcję f = (void*)(pgm_read_word(&&...
Niestety, ale jeśli chcesz tablicę wskaźników, przy czym wskaźniki wskazują na konkretne bloki pamięci, musisz je inicjalizować. Jeśli obie tablice są globalne, to bez problemu powinno dać się to zrealizować jakoś tak: [syntax=C]static char buff0[5][20]; char *menu_main[5] = { buff0[0], buff0[1], buff0[2], buff0[3], buff0[4] };[/syntax] lub równoważnie:...
Obiekty A bedą miały zawsze taką samą wielkość. Bo w klasie masz (prawdopodobnie) tylko wskaźnik do tablicy wskaźników obiektów tworzonych operatorem new. Te obiekty są poza klasą. no dokladnie :)... w klasie A tylko wskaznik, z ktorego robi sie pozniej tablica za pomoca new :D... tylko, ze jest to wskaznik do obiektow... a nie wskaznik do tablicy...
Czerwone, zielone i żółte ledy a niebieska to żaróweczka pod niebieskim oczkiem.
1) Naprawdę, ale biblioteka standardowa umożliwia potęgowanie za pomocą funkcji pow(x,y). Btw potęgowanie jest proste do napisania, szczególnie gdy podnosisz do całkowitych potęg. 2) Taka tablica ma stałą wielkość i nie da się jej zmienić (jak jest zainicjalizowana w ten sposób to kompilator sobie sam sprawdza jej wielkość), wielkość tą da się sprawdzić...
Widać nie rozumiesz o co chodzi. Ani ja ani Dr.Vee nie mówimy o przeniesieniu komunikatów do ramu, tylko tablicy wskaźników na komunikaty. Najpierw musisz pobrać wskaźnik z tablicy (ponieważ napisów jest więcej), potem dopiero wykorzystując wskaźnik odczytujesz ciąg z pamięci programu. Jeśli nie chcesz przenosić tablicy wskaźników, to niestety musisz...
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...
nie ma sensu bawić sie w jakieś przelutowywanie, żarówki w oprawkach są w sprzedaży za niewielkie pieniądze.
Stworzyć tablice wskaźników do tablic, a skoro masz je tego samego rozmiaru wystarczy tablica 2wymiarowa jeśli to cię urządza.
oczywiście że tak double * funkcja(int x, int y) { double *tablica; int kk; ... kk=...; ... tablica=new double[kk]; return(tablica); } a potem musisz pamiętać żeby użyć delete
Dziękuję Grzegorz za dobre słowo! Do 95XF mogę poratować takim schematem. Ostatnio miałem przypadek, że uruchomione było ogrzewanie postojowe (mokre), które podczas ( głębokiego snu kierowcy :D) samo się wyłączyło. Rano po odpaleniu silnika temperatura na wskaźniku poszła na MAX, zapaliła się czerwona kontrolka z informacją o przegrzaniu silnika i oczywiście...
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...
okladne tłumaczenie to ..ograniczenie predkosci ..co oznacza niemam pojecia
[syntax=cpp] #include <iostream> void Foo1(void) { } int main (void) { typedef void (*pFoo)(); pFoo* tFoo = new pFoo[3]; //wiem, że musi się tu znaleźć określenie typu, ale jak ono będzie wyglądało dla wskaźnika na funkcję? tFoo[0] = Foo1; //tFoo[1] = Foo2; //tFoo[2] = Foo3; delete [] tFoo; return 0; } [/syntax]
(at)GanzConrad Prościej nic nie kopiować, a tylko wprowadzić wskaźnik na pierwszą wyświetlaną linię i zadbać o jego zawijanie po dojściu do końca tablicy. W takim układzie przesunięcie o jeden wiersz to tylko zmiana tego wskaźnika.
Nie rozumiem tego mechanizmu dlaczego liczby są przypisywane własnie w ten sposób System U2, np.:http://www.algorytm.edu.pl/systemy-l...
No tak ;) Wskaźnik to nie to samo co tablica wskaźników :) W sumie jednak nie wiem czemu sobie kompilator tego nie potrafi przeliczyć ;) Przecież zna typ wskaźnika. No tak, tablica wskaźników nie musi być liniowa przecież. wskaźnk: [syntax=c]osoba * osobaMem fscanf(we, "%s", osobyMem->imie); //odczyt[/syntax] tablica wskażnków: [syntax=c]osoba * osobaMemT[];...
Chodzi o to że chciałbym użyć wskaźnika tej tablicy jako argumentu funkcji ethernet.write(). Ale właśnie doczytałem że można też wysłać wskaźnik i długość tablicy, jest to przewidziane.
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()...
2. Co to oznacza Ten kod oznacza, że w zależności od tego która definicja została zdefiniowana (np. LED8), takimi danymi zostanie zainicjowana tablica led_params ledx , czyli dla LED8 będzie to równoważne: 1). Co to oznacza Kod: Ten kod oznacza że do trzeciej pozycji tablicy request zostanie wpisany wynik działania funkcji LED_GetBlinkState której...
musisz zadeklarować wskaźnik do tablicy elementów typu "wskaźnik do elementów typu struct dane" w nastepujący sposób: Po co ? Przecież on potrzebuje zwykłą tablicę, czyli jeden wskaźnik na obszar pamięci zaalokowany przez menadżer sterty. Natomiast to co ty robisz, to wskaźnik na pierwszy element tablicy wskaźników. Fakt, w podanym kodzie jest trochę...
bezpośredniego skutku zwykle nie ma (sizeof(char)==1), ale zamiast -zmieniłem nazwy ... read na read1 Ja bym zmienił na znaczącą, oddająca intencję projektową. Coś w rodzaju read_and_trim albo read_from_line czy read_one_from_line Nazwa która wyznacza funkcjonalność pomaga (nawet w projekcie jednoosobowym) się zdyscyplinować. A nie ukrywajmy, funkcja...
tablica jest wskaźnikiem na tablicę, więc powinieneś użyć operatora dereferencji (jak w przykładzie, który wstawiłem). [syntax=c]bufspc[i] = bufspc[i] * *tablica[j][1] / 100.0;[/syntax]
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 :)
Bzdura, czy przekażesz do funkcji tabela, czy &tabela wyjdzie na to samo - poczytaj o tym jak są przekazywane tabele jako argumenty funkcji w C. A problem leży w tym o czym już pisałem - globalny wskaźnik nie może wskazywać na dane lokalne, które nie są zaalokowane dynamicznie lub ich czas życia nie jest nieskończony jak w przypadku static. Zastanów...
A widzisz, pojawia się wreszcie jakiś konkret. Skoro pojawia się komenda "300" to rozumiem, że pojawi się też "120", "1", "55" itp. Więc zamieniasz otrzymany string na word i masz już wskaźnik tablicy. W odpowiedzi wysyłasz wartość zmiennej o numerze "300".
Tym razem znów wprost ze standardu: Pomiędzy wskaźnikiem a tablicą jest taka różnica, że wskaźnik jest zmienną, a nazwa tablicy nią nie jest. Objawia się to właśnie tym, że wskaźnik możesz sobie przesunąć, lub przypisać mu adres wprost. Z nazwą tablicy tego nie zrobisz. Chyba, że Albert miał na myśli: (*tablica)++ :) -- Jak ktoś jest ciekawy: Niby &string8...
v5 wygląda na wskaźnik na tablicę bajtowych elementów, które są indeksami dla tablicy dword_40F458 po wykonaniu operacji xor z bajtową zmienną i. Po każdym obrocie pętli wskaźnik ten jest przesuwany na następny element tablicy (v5++).
[syntax=cpp] void sortuj(int liczbaElementow, int dlugoscWyrazenia, char s[][10]) //(1) //-------------------- char bufor[dlugoscWyrazenia]; //(2) !!!! to nie zadziała [/syntax] No tak to już styczeń, więc studenty się aktywują ...
Co dokładnie jest nie tak? Gdzie następuje błąd? Podawaj pełne informacje jak prosisz o pomoc. Rano może spróbuje to skompilować i napisze więcej.
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 {...
A jak miałby działać (skoro zmienne min i max nigdzie nie są ustawiane)? Poza tym, nie bardzo rozumiem, co chciałeś wyrazić przez ten warunek: [syntax=cpp] for(a=0;a<wsk;a++) [/syntax] Nie czytasz ostrzeżeń kompilatora?
Mam pytanie. Dlaczego zwracasz wskaznik do swojej tablicy? To nie ma sensu, bo przy wychodzeniu z funkcji tablica ta jest niszczona. Mozna zrobic to, co chcesz, ale tablice trzeba wtedy zdefiniowac dynamicznie. Nalezy pamietac przy tym, by samodzielnie ja zniszczyc. Moge sie mylic bo nie zajmuje sie za czesto C ale tak na moje oko to tablica nie tyle...
Trochę inaczej. Wszystko co dodajesz do wskaźnika zwiększy jego wartość - czyli zmieni miejsce w które on wskazuje. Zapisujesz dane do wskaźnika tylko z pomocą * Czyli Wsk++ powoduje, że wskaźnik wskazuje na kolejny element, natomiast *Wsk= powoduje przypisanie elementowi na który wskazuje wskaźnik nowej wartości Tak więc: 1.linijka tak jak mówisz 2.Wsk...
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...
po takiej deklaracji w sekcji .ssitag lądują wskaźniki do tej tablicy, a nie sama tablica, jak wymusic żeby całosć tam wylądowała? Musiałbyś albo w tablicy umieścić nie napisy ("...") tylko po prostu wskaźniki do tych napisów (osobnych obiektów), z których każdy miałby również ten atrybut. Druga opcja to zrobienie tablicy tablic (obecnie masz tablicę...
Oczywiście, jak przystało na forum techniczne, ani słowa o kompilatorze i platformie. W takim razie standardowo na przykładzie GCC. Opcje kompilatora -fdata-sections oraz konsolidatora --gc-sections usuwają zmienne nieużyte w programie. Ale... Stworzylem tablice ze wskaznikami do poszczegolnych czcioneki chcialem poprzez ta tablice odwolywac sie do...
Chodzi o to że zmienna temp czyli tak naprawde wskaźnik do tablicy charów będzie żyła tylko w tej funkcji. To mi nie przeszkadza bo jak już przypisze jej wartość(wskaźnik) do mojej zmiennej wskaźnikowej to mam już globalnie adres do pierwszego elementu tablicy ze znakami. Nie wiem tylko jak długo ta tablica będzie zarezerwowana w pamięci. jeżeli wywolujesz...
Zmierzone zewnętrznym zegarem (diagnostycznym przez mechanika) czy zegarem zamontowanym w tablicy wskaźników?
Może to Ci pomoże. http://allegro.pl/oslona-ramka-licznika-...
Musisz sobie utworzyć coś w rodzaju wskaźnika do tablicy. Może to być np int, który będzie wskazywał na kolejne indeksy w tablicy. Wpisujesz zmienną do tablica[indeks] i zwiększasz indeks.
W C++ możesz użyć klasy [url=http://en.cppreference.com/w/cpp/co... albo [url=http://en.cppreference.com/w/cpp/co... [syntax=cpp] #include <vector> // ... std::vector<oceny> wektor_ocen; wektor_ocen.push_back (oceny (1)); wektor_ocen.push_back (oceny (2)); std::cout <<...
Przyjrzyj się funkcji sortującej - najpierw kopiujesz przez wartość [syntax=cpp]tmp = *tablica[i][/syntax] potem podmieniasz same wskaźniki [syntax=cpp]tablica[i] = tablica[i + 1][/syntax] a na końcu znowu przez wartość [syntax=cpp]*tablica[i + 1] = tmp[/syntax] Zamień typ tmp na wskaźnik do el_nowy [syntax=cpp]el_nowy* tmp;[/syntax] (swoją drogą, czemu...
lampka oświetlenia komory silnika? Tak (na bezpieczniku 14 jest tylko to i oświetlenie schowka, wskaźników i tablicy rej.)
Co do redefinicji - z obu plików nagłówkowych masz wskazanie do pliku zawierającego klasę "rycerz". Domyślam się, że tu będzie tkwił problem. Co do tablic - zwraca się wskaźnik na tablicę. Ale jeśli tablica jest tworzona w instancji funkcji - trzeba operować parametrami preferencyjnie przekazanymi.
A nie jest czasem tak, że tablice stringów muszą być inaczej deklarowane, żeby siedziały w PROGMEMie? Nie jest tak. Zwróć uwagę na różnicę między definicją tablicy wskaźników do stringów a definicją tablicy stringów. Tobie się właśnie to pomyliło. char *tab to nie to samo co char tab Tablica wskaźników do stringów musiałaby być inicjalizowana jak w...
Bo nadal zwracasz wskaźnik na lokalną tablicę "oout". Masz też wyciek pamięci spowodowany tym, że po wyjściu z funkcji tracisz wskaźnik na zaalokowaną pamięć "out".
int Nie no, kolega pomylił wielowymiarowe tablice z niezwymiarowanymi tablicami, które istotnie są wskaźnikami (ale tylko na jednym poziomie, tzn. int x Najprościej zamiast tego użyć tablicy jednowymiarowej i "na piechotę" obliczać adres elementu, np. zamiast int tablica2d Takie obliczenia właśnie wykonuje kompilator dla tablic wielowymiarowych.
ale jak już przy tym jesteśmy to rozumiem że ta operacja *(struktura.wsk) = ... zadziała tak jak chciałem? czyli podstawi wartość do zmiennej wskazywanej przez ten wskaźnik ??? tak a jeszcze przy okazji, gdyby ten wskaźnik był wskaźnikiem na jakąś tablicę i chciałbym go zwiększyć o N żeby wskazywał N-ty element tablicy, to hmmm mam to tak zapisać???...
Nawet nie miałby powodu zrobić inaczej z wielu powodów. Tablica wielowymiarowa jest tak naprawdę tablicą tablic, a więc wszelkie właściwości z tym związane są nadal prawdziwe. PS. Była wzmianka o stringu. Trzymanie ich w ten sposób mija się często z optymalnym wykorzystaniem pamięci.
Problemem jest char *cmd[]; - to oznacza tablicę wskaźników na char, a nie wskaźnik na char. A skoro tablica o nieznanej liczbie elementów to wszystko co masz po przecinku to kolejne elementy tej tablicy. Czyli usuwasz [] lub nazywasz pola, np. .ptrF=.
lcd_string jak widać w kodzie potrzebuje jako parametr wskaźnik na tablicę znaków. Czyli nie to co zawiera UDR - znak. Potrzebujesz użyć funkcji wyświetlającej znaki - poszukaj. Albert
Tak, są nie-kwadratowe fonty i maja różne szerokości i wysokości. Oczywiście te dane trzeba bedzie wpisać ręcznie. Czyli w jednej strukturze byłoby: - Wskaźnik do tablicy z odpowiednią czcionką - Wysokość aktualnej czcionki - Szerokość aktualnej czcionki - Modyfikator (tak go nzwałem, określa dodatkową szerokość między znakami), dla 0 szerkość jest...
Edit:Down: Kolego Moderatorze. Użycie słowa functions było celowe, chodziło mi o podkreślenie że chodzi o funkcje pisane a nie funkcje zaimplementowane w C, takie jak printf. Błędu ortograficznego nie było żadnego, chyba że Kolega Moderator uważa za błąd ortograficzny brak polskich znaków, w takim razie Kolega wybaczy. Jeżeli ktoś żyje poza granicami...
W przypadku tablic niejawny wskaźnik jak i adres samej zmiennej to jedno i to samo. To po prostu nie jest przechowywane w innym miejscu. Inaczej by się sprawa miała z tablicą dynamiczną. Wtedy rezerwowany jest obszar pamięci, którego wskazanie musi być przechowywane w osobnym wskaźniku. W przypadku statycznych tablic - kompilator z góry zna położenie...
Witam, widzę, że nauka poszła w las :roll: Możesz stworzyć wskaźnik który będzie wskazywał na ową tablicę, gdy zajdzie potrzeba, możesz zmienić adres wskaźnika, tak aby wskazywał na tą drugą tablicę. Pozdrawiam, GSM
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...
Zajrzyj do Microsoft Platform SDK -> Base Services -> Interprocess Communication. Jeśli zależy Ci na pamięci współdzielonej, to zainteresuj się tematem "File Mapping".
Witam! Myślę, że warto tutaj skorzystać z wskaźników do tablic i utworzyć tablicę tychże wskaźników np: TYP *(*t)[] i odwoływać się do tak zdefiniowanej poprzez: (*t)[wiersz][kolumna] [syntax=c]typedef float TYP; /* w miejsce TYP wstawiamy dowolny typ */ /* i definiujemy funkcję */ TYP *(*alokuj(int iletablic))[] { int i; TYP *(*p)[]; p = malloc(sizeof...
Można (jak tzw tablice wiszą na wskaźnikach) , z małą gwiazdką u dołu. Ale to nie są tablice tylko wskaźniki. To jest częsty błąd początkujących - mylenie wskaźników i tablic. Wynika to pewnie z tego, że tablice jeżeli są uźyte w wyrażeniach jaki "rvalue" rozkłądają (decay) się do referencji (ale nie wskaźnika!!!!) do pierwszego swojego elementu. Przypisanie...
nazwa typu "kłamie", jak chcesz znak to mów znak (zastanów się czy signed, czy unsigned, żeby po zmianie opcji kompilatora nie wyleciało w powietrze.) A jak liczbę (Intxxxx), to dlaczego inicjujesz literkami? [syntax=c]Int8* WskaźnikNaDupe = Text_ABCDE[3];[/syntax] Nie myślałeś o czymś takim? Po to zabawa typami, aby rzutowanie było zbędne. Rzutowanie...
Witam. Uczę się programowania w c++ z "Symfonii C++". Mam problem z jednym z zadań podsumowujących z działu "wskaźniki". Proszę o pomoc w rozwiązaniu tego zadania. Napisz funkcję, która zarezerwuje 10 elementową tablicę, a jej adres przekaże wskaźnikowi o nazwie linijka. Ma to być tablica, w której można przechowywać wskaźniki do tablic znaków. Następnie...
Nie wkleiłeś kodu, więc mogę tylko strzelać, że nie alokujesz pamięci na nowe wyrazy, tylko zapisujesz je w tych samych miejscach pamięci, co stare. W rezultacie masz co prawda nową strukturę key_tab, ale z tymi samymi wskaźnikami.
Jeśli koniecznie diody kup na 24V z reguły są na 18-36V. Żarówki są na lutowanie czy w oprawkach. Poszukaj zamienników led. Tak się robi np w tablicy wskaźników w samochodzie.
Zauważ że instrukcja [syntax=c]char * A = malloc(5);[/syntax] powoduje zalokowanie pamięci. Następnie: [syntax=c]A = "Test";[/syntax] Powoduje zgubienie wskaźnika do wcześniej zaalokowanej pamięci i ustawienie A na stałą "Test". W kolejnych instrukcjach przekazujesz wskaźnik na stałą do funkcji która ma coś pod ten wskaźnik skopiować. Dodatkowym błędem...
Coś chyba źle robie... Tak , nie myślisz ;) Na 100% , argumentem dla lcd_puts jest wskaźnik na (tablicę)char , a i ostatni argument w dtostrf , to też ten sam typ ;) Piotrek
Dynamiczną liczbę wyników to w sumie tylko i wyłącznie przez struktury/klasy typu wektor bądź lista. Albo jako argument przekazać referencję na wskaźnik, funkcja pod danym wskaźnikiem tworzy tablicę o odpowiednim rozmiarze, wypełnia ją wynikami a liczbę wyników zwraca przez return.
Na angielski na pewno, na nasz ojczysty chyba jeszcze nie w tym roczniku. Można bezinwazyjnie clipem to zrobić wchodząc w tablicę wskaźników. I nie czytaj już forum renaulta.
Jednakże potrzebowałbym stworzyć takie menu w którym użytkownik wybiera sobie język i myślałem żeby rozwiązać to w taki sposób, aby każdy z tekstów był tablicą dwuwymiarową... A dlaczego to miałoby nie działać? Po prostu jako tekst związany z daną pozycją menu dajesz wskaźnik do tablicy, a w programie masz zmienną globalną określającą nr języka (indeksu...
Wskaźnik OPN 10 (numer tablicy) L MW10 <-- nr pozycji (od 0 do 69) SLD 3 <-- stworzenie wskaznika 32bitowego. (3 jeżeli masz dane w DB zapisane co Bajty, 4 co word, 5 co dword) LAR1 L DBD (AR1, P#0.0) (DBD <- 4bajty, DBW 2<-bajty, dbb <-1bajt) T #pozycja napędu Napisz ile używasz bajtów na 1 element tablicy
tablicy wskaźnik wskaźnik tablicy obiektów wskaźnik tablicy znaków
workbench bramka evohome honeywell filtr paliwa znajduje
wymiana rozrządu instrukcja zanussi tt150
AMT Bramster nie reaguje na piloty - przyczyny i rozwiązania Problemy z tabletem Wacom: diagnostyka i rozwiązania