Я использую c-указатели, в которых, если я увеличиваю как * p ++, он увеличивает p, но возвращает только значение, указанное p, до того, как оно было увеличено. как я могу увеличить значение, указанное p.incrementing c pointers
ответ
постфикс++
имеет более высокий приоритет, чем *
, компилятор читает *p++
, как *(p++)
. Так как вы хотите увеличить значение *p
, вам нужны скобки: (*p)++
вернет значение *p
и затем увеличит значение p
на единицу. ++(*p)
увеличит значение *p
и вернет это значение.
Можно опустить фигурные скобки для последнего случая и писать ++*p
, но я бы посоветовал не делать этого, потому что ++(*p)
является двойственной к (*p)++
, но ++*p
не *p++
.
-1 Как это получилось? В вопросе задается вопрос о том, как увеличить значение, на которое указывает p, а не как увеличить p, а затем получить значение, на которое указывает новый p. – JeremyP
-1. Neeraj спрашивает: «Как я могу увеличить значение, указанное p». Это увеличивает указатель 'p', а затем удаляет его, чтобы получить значение, на которое указывает' p'. – Stephen
Ooops. Это было неправильно прочитано мной. Я думаю, что мои сторонники сделали то же самое :-). Я исправляю это. –
сделать это: (* р) ++
Используя скобку, вы указали, вы имеете в виду, чтобы увеличить значение указал на.
Если вам не нужно значение и как вырезать ненужную скобку '++ * p', также следует работать. –
+1. Я не понимаю, почему другие ответы проголосовали или, по крайней мере, не проголосовали. Ответ Яна является единственным правильным здесь. Ответчик вопроса хочет увеличить значение, которое p ** указывает ** at, а не значение p. – Stephen
@Stephen - это вопрос немного амбициоза, «он увеличивает p», как будто он пытался увеличить указатель. На перечитывании я думаю, что это правильный ответ, хотя – cobbal
- 1. C++ Swapping Pointers
- 2. Обрезка пробелов C++ POINTERS
- 3. C++ smart pointers polymophism
- 4. C++ - Null Pointers
- 5. C++ Pointers Scope
- 6. C++ Pointers редакция экзамен
- 7. C Programming- Pointers
- 8. C++ Array of Pointers
- 9. C# incrementing filename
- 10. va_arg not incrementing C++
- 11. C# - Auto incrementing AssemblyInformationalVersion
- 12. C# - Incrementing StockNumber
- 13. incrementing autoresetevent C#
- 14. C++ structs incrementing
- 15. C# ReadProcessMemory - Accessing/Reading Pointers
- 16. C++ vector and pointers issue
- 17. Tagged pointers в Objective-C
- 18. C structs and pointers confusion
- 19. C Сегментация Fault structs/pointers
- 20. Pointers из C++ в OpenCL
- 21. Auto-incrementing C# container ID
- 22. Pointers проблема
- 23. Array of Struct Pointers (C Programming) Вопросы
- 24. atof, structs and pointers in C++
- 25. C++ обменивать Массивы члены и ассоциированных Pointers
- 26. Путаница при Перестановка Pointers
- 27. Struct arrays pointers issue
- 28. PHP Incrementing?
- 29. Python Incrementing
- 30. Fetching Pointers In Parse
Это на самом деле прямой вопрос C, поэтому я добавил тег. – JeremyP