Pointers:
A pointer is a variable whose value is a memory address. A pointer contains the memory address of a variable that, in turn, contains a specific value. In this sense, a variable name directly references a value, and a pointer indirectly references a value.Syntax:
type * variable ;Interpretation:
The value of the pointer variable ptr is a memory address. A data item whose address is stored in this variable must be of the specified type.

Dynamic Memory Management:
C/C++ enables programmers to control the allocation and deallocation of memory in a program for any built in or user defined type.The ability for a program to obtain more memory space at execution time to hold new nodes, and to release space no longer needed is known as dynamic memory management.
Syntax:
int *num = (int *)malloc(sizeof (int)*numCount);or
int *ptr = (int *)calloc(numCount, sizeof (int));
/* returns a pointer to a section of memory just large enough to hold the integers, whose quantity is being obtained through user input stored in the variable numCount. */
free(ptr); //returns to the system whatever memory was pointed to by ptr.
POINTER TO POINTER(Double Pointer) DECLARATION:
Syntax:
type ** variable ;Interpretation:
The value of the pointer variable ptr2ptr is a memory address of another pointer.
Implementation of Pointers in C:
#include <stdio.h> #include<malloc.h> int main() { int row,col,x,y; printf(“Enter number of rows:”); scanf(“%d”,&row); printf(“Enter number of columns:”); scanf(“%d”,&col); //allocate memory for xs int **ptr = (int **)calloc(row, sizeof (int*)); //for each x allocate memory for yumns for(x=0;x<row;x++) *(ptr+x) = calloc(col,sizeof(int)); //Storing elements for (x=0;x<row;x++) for(y=0;y<col;y++) { printf(“Enter number: “); scanf(“%d”,&ptr[x][y]); } //Displaying pointer to pointer to ptr printf(“nYou have entered:n”); for (x=0;x<row;x++) { for(y=0;y<col;y++) { printf(“%d “,ptr[x][y]); } printf(“n”); } free(ptr); //returns to the system whatever memory was pointed to by ptr. return 0; }
Comments
Post a Comment