dĺžka vektoru dát v AVRGCC

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
iginoiii
Příspěvky: 364
Registrován: 01 črc 2010, 00:00
Bydliště: Bratislava

dĺžka vektoru dát v AVRGCC

#1 Příspěvek od iginoiii »

Dobrý deň všetkým,

hľadám ekvivalent príkazu length(data) v Matlabe pre AVRGCC.
názorná ukážka

data = [1,2,35,4,57]

length(data) =5

Stále ma to odkazuje na strlen, ale to je niečo s reťazcom. Vďaka za pomoc, i
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#2 Příspěvek od Andrea »

Zkus
sizeof(data)/sizeof(data[0])
Uživatelský avatar
iginoiii
Příspěvky: 364
Registrován: 01 črc 2010, 00:00
Bydliště: Bratislava

#3 Příspěvek od iginoiii »

pri premennej o velkosti 1 to ukazuje 1, čo je posun oproti strlen. Ale pri vektore naplnenom 10timi premennými:

sizeof(i) =1
sizeof(data)=20
sizeof(data[5])=2
Andrea
Příspěvky: 9340
Registrován: 07 zář 2007, 00:00

#4 Příspěvek od Andrea »

No a 20/2 = 10, tak v čem je problém?
Uživatelský avatar
iginoiii
Příspěvky: 364
Registrován: 01 črc 2010, 00:00
Bydliště: Bratislava

#5 Příspěvek od iginoiii »

;) samozrejme použiteľné to je, vďaka
Uživatelský avatar
rnbw
Příspěvky: 37419
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#6 Příspěvek od rnbw »

V C je to bezny sposob zistenia poctu prvkov v poli. Vacsinou sa to pouziva ako makro, napr.:

Kód: Vybrat vše

#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“