|
Pointers and References in C/C++
An Introduction |
|
Prof. David Bernstein
|
| Computer Science Department |
| bernstdh@jmu.edu |
int i;
i is added to the name tablei is designated a value typeint
&i
i = 5;
i is assigned the value 5
*
int *ptr;
&ptr
ptr = &i;
* operator
(*otherptr) = 9;
int a[4];
a,
&a and &a[0]
all evaluate to the same thingsizeof and
&)[] is evaluated before
&
int array is an int
int
array is a pointer to an int
int
does not change its contents by 1, it changes
its contents by the size of the data type
it is pointing to
thirdptr+1 is 0x22FF54
*(thirdptr) is the same as a[0]
*(thirdptr+1) is the same as a[1]
*(thirdptr+2) is the same as a[2]
*(thirdptr+3) is the same as a[3]
&
r now refers to i so
it has the same address and the same contents
Weight object, its
constructor is called, and the two member attributes
are initialized