Запитання з тегом «pointer-arithmetic»

18
Що стосується масивів, чому так буває, що a [5] == 5 [a]?
Як Джоел зазначає у підкасті № 34 Stack Overflow , у програмі мови програмування C (він же: K&R), про цю властивість масивів у C згадується:a[5] == 5[a] Джоель каже, що це через арифметику вказівника, але я все ще не розумію. Чому такa[5] == 5[a] ?

8
Арифметика вказівника для недійсного вказівника в С
Коли покажчик до певного типу (скажімо int, char, float, ..) збільшується, його значення збільшується на розмір цього типу даних. Якщо voidвказівник, який вказує на дані про розмір x, збільшується, як це зробити, щоб вказувати xбайти вперед? Як компілятор знає додати xзначення покажчика?

3
Як цей фрагмент коду визначає розмір масиву, не використовуючи sizeof ()?
Переглядаючи кілька запитань щодо співбесіди на C, я знайшов питання, в якому сказано "Як знайти розмір масиву в C, не використовуючи оператора sizeof?", Із наступним рішенням. Це працює, але я не можу зрозуміти, чому. #include <stdio.h> int main() { int a[] = {100, 200, 300, 400, 500}; int size = …

1
Чи можна додати нуль до нульового вказівника?
Я знаю, що арифметика вказівника заборонена для нульових покажчиків. Але уявіть, у мене є щось подібне: 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 { …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.