Skip to main content

Pointers

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

Popular posts from this blog

Single LinkList in Java

Linked List: Linked List contains a sequence nodes which are linked together. Each node contains a connection to another link and data. Linked list is the second most-used data structure after array. Following are the important terms to understand the concept of Linked List. Link − Each link of a linked list can store a data called an element. Next − Each link of a linked list contains a link to the next link called Next. LinkedList − A Linked List contains the connection link to the first link called First. Types of Linked List: Following are the various types of linked list. Simple Linked List − Item navigation is forward only. Doubly Linked List − Items can be navigated forward and backward. Circular Linked List − Last item contains link of the first element as next and the first element has a link to the last element as previous. Basic Operations: Insert:  Inserts at tail,  specific index. Delete: Deletes from the tail.  specific index. ...

Object Oriented Programming (OOP)

Object Oriented Programming: Object Oriented Programming (OOP) is a programming concept which used in the modern programming world. Languages like Java, C++,  and Python support Object Oriented Programming (OOP). It works on the principle that objects are the most important part of a program. In OOP we think in terms of objects and every object has its attributes (properties) and a state (behavior/functions). Object Oriented Programming (OOP) is a technique of system modeling and its main purpose is to understand the product before developing it and manipulating these objects to achieve a specific task.   Pillars of Object Oriented Language (OOP): There are four basic principles of Object Oriented Language (OOP). Inheritance Polymorphism Data Encapsulation Abstraction WHY is Object Oriented Language (OOP) NEEDED? Problems with Procedural Languages: Functions have unrestricted access to global data Unrelated Functions and data. Before Object Oriente...