Co oznacza uint8_t cos(*tab) to nie można nazwać funkcją tak? Nie posiada przedimka void więc w takim razie jak to nazwać w języku C?
co to tab
? void
nie oznacza funkcji, ani nie jest przedimkiem.
Szklana kula mówi, że tab
to wskaźnik na jakiś typ liczbowy, więc inicjalizujesz cos
wartością wskazywaną przez tab
.
Jakby było uint8_t cos(jakis_typ *tab)
to byłbaby to deklaracja funkcji zwracającej zmienną typu uint8_t.
@KKK0 daj większy fragment kodu bo trudno zgadnąć :D
Skoro jest to funkcja zwracająca jakiś typ danych to czy
Void cos(char* tab) było by to samo co uint8_t cos(*char tab)????
Nie, inny typ zwracany to inny typ zwracany. Przy czym na razie to pytasz o wyrwany z kontekstu kawałek kodu - równie dobrze możesz pytać co po angielsku znaczy car, próbując zrozumieć znaczenie carpet.
W C++ taki kod tworzy i inicjalizuje zmienną o nazwie cos
, która jest typu uint8_t
(czyli unsigned char
)
Przykład:
#include <iostream>
#include <cstdint>
int main()
{
uint8_t tab_element;
uint8_t *tab = &tab_element;
*tab = 10;
uint8_t cos(*tab);
std::cout << cos << std::endl;
return 0;
}
Natomiast w C coś takiego nie przejdzie.
No bo to C, a nie C++?
https://en.cppreference.com/w/c/language/initialization