Advanced Pointer Notation

Consider pointer notation for the two-dimensional numeric arrays. consider the following declaration

int nums[2][3]  =  { { 16, 18, 20 }, { 25, 26, 27 } };

In general, nums[ i ][ j ] is equivalent to *(*(nums+i)+j) 

 

C++ Pointers

Pointers are symbolic representations of addresses. They enable programs to simulate call-by-reference as well as to create and manipulate dynamic data structures. Iterating over elements in arrays or other data structures is one of the main use of pointers. 

The address of the variable you’re working with is assigned to the pointer variable that points to the same data type (such as an int or string).

Syntax:

datatype *var_name; 
int *ptr;   // ptr can point to an address which holds int data

 

Similar Reads

How to use a pointer?

Define a pointer variableAssigning the address of a variable to a pointer using the unary operator (&) which returns the address of that variable.Accessing the value stored in the address using unary operator (*) which returns the value of the variable located at the address specified by its operand....

References and Pointers

There are 3 ways to pass C++ arguments to a function:...

Array Name as Pointers

An array name contains the address of the first element of the array which acts like a constant pointer. It means, the address stored in the array name can’t be changed. For example, if we have an array named val then val and &val[0] can be used interchangeably....

Pointer Expressions and Pointer Arithmetic

A limited set of arithmetic operations can be performed on pointers which are:...

Advanced Pointer Notation

Consider pointer notation for the two-dimensional numeric arrays. consider the following declaration...

Pointers and String literals

String literals are arrays containing null-terminated character sequences. String literals are arrays of type character plus terminating null-character, with each of the elements being of type const char (as characters of string can’t be modified)....

Pointers to pointers

In C++, we can create a pointer to a pointer that in turn may point to data or another pointer. The syntax simply requires the unary operator (*) for each level of indirection while declaring the pointer....

Void Pointers

This is a special type of pointer available in C++ which represents the absence of type. Void pointers are pointers that point to a value that has no type (and thus also an undetermined length and undetermined dereferencing properties). This means that void pointers have great flexibility as they can point to any data type. There is a payoff for this flexibility. These pointers cannot be directly dereferenced. They have to be first transformed into some other pointer type that points to a concrete data type before being dereferenced....

Invalid pointers

A pointer should point to a valid address but not necessarily to valid elements (like for arrays). These are called invalid pointers. Uninitialized pointers are also invalid pointers....

NULL Pointers

A null pointer is a pointer that point nowhere and not just an invalid address. Following are 2 methods to assign a pointer as NULL;...

Advantages of Pointers

Pointers reduce the code and improve performance. They are used to retrieve strings, trees, arrays, structures, and functions.Pointers allow us to return multiple values from functions.In addition to this, pointers allow us to access a memory location in the computer’s memory....