because u freakin can
A pointer into an array of elements of type E is a pointer to a single element of type E:typedef ..... E;E array[123];E* const pointer = &array[18]; // points to the 19th element inside 'array'An array of pointers is an array whose elements are pointers:typedef .... E;E* array[123];E** const pointer = &array[18]; // points to the 19th pointer within 'array'Referencing the name of the array variable without use of the index operator itself is a constant pointer to its first element. Therefore, the following if-clause is always true:typedef .... E;E array[123];if (array &array[N]) { // ALWAYS true ...}
Yes, passing an array name to a pointer assigns the first memory location of the array to the pointer variable. An array name is the same as a pointer to the first location of the array, with the exception that an array name is a r-value, while a pointer is an l-value.
constant pointer and character pointer
once we initialize the array variable, the pointer points base address only & it's fixed and constant pointer
An array behaves like a pointer when you use its name in an expression without the brackets.int a[10]; /* a array of 10 ints */int *b = a; /* a reference to a as a pointer, making b like a */int c = *(a+3); /* a reference to a[3] using pointer semantics */myfunc(a); /* pass a's address, a pointer to myfunc */Note very carefully that, while an array name and a pointer can almost always be interchanged in context, the are not the same, in that a pointer is an l-value, such as b, above, and can be assigned, whereas a is an r-value and can only be referenced, such as in the same statement, the second statement. Also, an array name does not take up memory, while a pointer does.
A double pointer has two basic meanings. One is ofa pointer to a pointer, where changing the value ofdouble pointer will result in the original pointer being changed. Another is that of a two-dimentional array, such as a matrix, or a list of char* (e.g. in main when you use argv).
By returning a pointer to the first element of the array.
You can't physically delete memory, you can only delete a pointer to allocated memory, which subsequently releases the memory back to the system. The operator is delete, passing the pointer as the operand. If the pointer points to an array, then you must also use the index operator [] in front of the pointer name.int main(){// pointer to an int type with value 100int* ptr_int = new int(100);// ... use pointer ...// release the integerdelete ptr_int;// pointer to an array 100 int types (with undefined values)int* ptr_int_array = new int[100];// ... use array ...// release the arraydelete [] ptr_int_array;return(0);}
Well the most prolific answer to this query would be the use of pointers.Use a pointer and allocate it to the array of interest and start printing.
The name of an array can be looked as a pointer of this array,and it points to the local memory address of the first element.So we can gave the address to a pointer.The flow is an easy example to show hou to use a pointer to print an array.#include "iostream.h"void main(){char a[]="abcdefgh";char *b=a;//afor(int i=0;i
In the C and C++ languages the array notation arr[i] is completely equivalent to the pointer notation *(arr + i).
A pointer is a variable that holds address information. For example, in C++, say you have a Car class and another class that can access Car. Then, declaring Car *car1 =new Car() creates a pointer to a Car object.. The variable "car1" holds an address location.