Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 4 lip 2026, o 05:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 13 lut 2014, o 12:45 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Mam takie pytanko, jak zrobić strukturkę constantów?

Przy takim czymś wywala mi błąd:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 13:05 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27462
Lokalizacja: Szczecin
Pomógł: 1045

typedef i najpierw definicja struktury o nazwie np TEST , a potem stworzenie zmiennej const

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 13:12 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Gdzieś tu jest babol :(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 13:13 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27462
Lokalizacja: Szczecin
Pomógł: 1045

a kolega zagląda na mój blog do poradników ?

oooj chyba nie za często ;)

http://mirekk36.blogspot.com/2013/07/st ... adnie.html

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 13:28 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

A można w ogóle robić tak? (przypisać wartości w struct)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 13:57 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27462
Lokalizacja: Szczecin
Pomógł: 1045

kiclaw napisał(a):
A można w ogóle robić tak? (przypisać wartości w struct)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


hmmm a poczytałeś to co pdodałem w LINKU wyżej :(

na prawdę tam właśnie OD MEGA PODSTAW opisałem co i jak ze strukturami w C i masz tam odpowiedzi na swoje pytania, nie będziesz musiał zgadywać czy można tak czy siak jak to przeczytasz ok ?

chyba że czegoś tam nie zrozumiesz to dopytaj proszę ok ? bo ciężko mi teraz drugi raz to samo tutaj przepisywać jakby

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 13 lut 2014, o 14:04 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Po pierwsze: jaki błąd? podaje się konkretny komunikat błędu, a nie "jakiś błąd"

Po drugie to nie zadziała:
kiclaw napisał(a):
struct test{
 
   const uint16 testowyConst = 1234;
};


pisze się to tak jakoś tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


albo tak:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 13:48 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

No ok, mam kod jak poniżej (chce zrobić następny poziom struktury) i mam error: field 'tablica' has incomplete type

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Ostatnio edytowano 18 lut 2014, o 16:14 przez kiclaw, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 15:08 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

To nie wiersz 15 jest problematyczny tylko 10. Podany zapis byłby prawidłowy gdyby struktura "tab_0f_Const" była uprzednio zdefiniowana, a tak nie jest.
Zresztą cały ten listing jest problematyczny bo w nawiasach klamrowych jest kaszana.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 16:09 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

Co do nawiasów to są OK, musiał się wkraść błąd do samego listningu. No OK to jak zdefiniować tę strukturkę? Wydaje mi się że definiuję ją w właśnie 10 wierszu. Czyli powołuję strukturkę "tableOfconst" która jest typu "tab_Of_Const"



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 18:23 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

kiclaw napisał(a):
Wydaje mi się że definiuję ją w właśnie 10 wierszu.

Nie, w wierszu 10 definiujesz tylko nowy typ danych o nazwie "tableOfconst", który jest aliasem do "struct tab_Of_Const". Struktura "tab_Of_Const" pozostaje niezdefiniowana. Może Tobie się wydaję, że zdefinowałeś ją w wierszu 7, ale nie, to jest z kolei definicja zmiennej "tab_Of_Const" typu "tabOfConst". Jak widać zmienna i typ strukturalny mogą nazywać się tak samo a być czymś całkiem innym.

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 08:27 
Offline
Użytkownik

Dołączył(a): 18 paź 2012
Posty: 244
Pomógł: 2

No OK, tylko że w chwili gdy zrobię coś takiego:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


to wyrzuca mi taki błąd: expected ':', ',', ';', '}' or '__attribute__' before '=' token



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 08:42 

Pomógł: 0

W definicji struktury używasz rozdzielania składników znakiem cudzysłów ; znowu przy deklaracji (inicjacji wartościami) używasz już rozdzielania przecinkami.
(mam nadzieje że dobrze użyłem tych słów definicja/deklaracja)

Przykład

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Gdzie IP_WIZFI, ESSID, WPAPSK, NAUTO to są stałe zdefiniowane za pomocą #define



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 08:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 lut 2013
Posty: 600
Pomógł: 47

Spróbuj tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
https://www.instagram.com/myfirstquadcopter/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 11:59 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

"Deklaracja", "definicja" te pojęcia często się mieszają chociaż ich znaczenie jest istotnie różne. Sam trochę zamieszałem więc może zacznijmy od początku.

Deklaracja struktury to opis co tam się wewnątrz znajduje:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Definicja struktury to powołanie do istnienia zmiennej strukturalnej:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Można to połączyć i jednocześnie strukturę zadeklarować i zdefiniować:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


I teraz wracając do twoich zmagań - nie możesz inicjować struktury w deklaracji, możesz inicjować przy definicji. A więc to nie jest prawidłowe:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


ani to:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


prawidłowe jest to:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


albo to:


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Modyfikatory 'const' czy 'typedef' nie wnoszą nic nowego do tej zasady. Jedynie w razie zadeklarowania (albo zdefiniowania) całej (lub części) struktury jako const kompilator sprawdza czy w kodzie nie ma przypisań do zmiennej (za wyjątkiem inicjalizacji oczywiście).
To tyle. A teraz powiedz co włąściwie chcesz uzyskać?

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO