Pytania otagowane jako pointer-arithmetic


8
Arytmetyka wskaźnika dla void pointer w C
Kiedy wskaźnik do określonego typu (powiedzmy int, char, float, ..) jest zwiększany, jego wartość jest zwiększana o wielkości tego typu danych. Jeśli voidwskaźnik, który wskazuje na dane o rozmiarze, xjest zwiększany, w jaki sposób ma wskazywać xbajty do przodu? Skąd kompilator wie, aby dodać xdo wartości wskaźnika?


1
Czy można dodać zero do wskaźnika zerowego?
Wiem, że arytmetyka wskaźników jest niedozwolona dla wskaźników zerowych. Ale wyobraź sobie, że mam coś takiego: class MyArray { int *arrayBegin; // pointer to the first array item, NULL for an empty array unsigned arraySize; // size of the array, zero for an empty array public: int *begin() const { …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.