C and C++
-
Practical C (2016)
-
C: The Complete Reference (2000)
- Clang:
‘a language front-end and tooling infrastructure for languages
in the C language family (C, C++, Objective C/C++, OpenCL, and CUDA)
…
Both a GCC-compatible compiler driver (clang) and an
MSVC-compatible compiler driver (clang-cl.exe) are provided.’
- Ted Jensen’s
Tutorial
on Pointers and Arrays
- Marshall Cline’s
How to mix C and C++
- the expression
&var_name[0] can be replaced by
var_name
- if
type *ptr, then
-
*ptr+1 means (*ptr)+1
and doesn’t imply pointer arithmetic; but
-
*ptr++ means *(ptr++) and
does imply pointer arithmetic (i.e.,
increment by sizeof(type))
This ugliness is because of right-to-left precedence
among unary operators,
which are all of higher precedence than binary operators.
-
ptr->member is the same
as (*ptr).member
R. Funnell
Last modified: 2026-08-28 17:50:47