Lesson 05 - 04. Pointers and Reference Variables - Explicit Address - 01
Lesson 05 - 04. Pointers and Reference Variables - Explicit Address - 01
Pointers and
Reference Variables - 01
1. Introduction C++
C++ vs C
Compilers, IDEs
2. C++ Language Basics
Types: int, float, double
Control Structures: if, for, while, switch-case…
3. Functions, Arrays, Strings and Parameter Passing
void func(int); void func(int, int =
1);
int arr[10], brr[2][3];
#include <cstring>; char str[10];
#include <string>; string s;
Duy Tan University
2
Contents
I. Memory
What is memory?
Use operator & to get address of variables
II. References
What is a reference?
int a = 10; int& r = a;
void iSwap(int &x, int &y) {…}
III. Pointers
A pointer is a variable, used to store memory address
int a = 10; int *p = &a;
Derefering operator *
I. Memory
II. References
III. Pointers
Return by reference
short& myMax(short& x, short& y) {
if (x > y)
return x;
return y; // short& kq = y; Output
} a: 2
int main() { b: 99
short a = 2, b = 4;
myMax(a, b) = 99;
cout << "a: " << a << endl;
cout << "b: " << b << endl;
return 0;
}
Duy Tan University
20
Example 04
Return by reference
short& myMax(short& x, short& y) {
short m = x;
if (y > x) m = y;
return m; Output
} a: 2
int main() { b: 4
c: -22128
short a = 2, b = 4;
short& c = myMax(a, b);
cout << "a: " << a << endl;
cout << "b: " << b << endl;
cout << "c: " << c << endl;
return 0;
} 21 Duy Tan University
Example 05
I. Memory
II. References
III. Pointers
p4 is an integer
I. Memory
II. References
III. Pointers
I. Memory
II. References
III. Pointers