data structures using for exampleconsider the following codeint = int *px**ppxpx &xppx &pxfigure pointer to pointer now if we writelet us assumethe memory locations of these variables are as shown in fig printf("\ % "**ppx)thenit would print the value of drawbacks of pointers although pointers are very useful in cthey are not free from limitations if used incorrectlypointers can lead to bugs that are difficult to unearth for exampleif you use pointer to read memory location but that pointer is pointing to an incorrect locationthen you may end up reading wrong value an erroneous input always leads to an erroneous output thus however efficient your program code may bethe output will always be disastrous same is the case when writing value to particular memory location let us try to find some common errors when using pointers int *pxx= *px errorun-initialized pointer px is pointing to an unknown memory location hence it will overwrite that location' contents and store in it int *pxx= px xerrorit should be px &xint = = *px*pypx &xpy &yif(px<pyprintf("\ is less than ")else printf("\ is less than ")errorit should be if(*px*pypoints to remember was developed in the early by dennis ritchie at bell laboratories every word in program is either an identifier or keyword identifiers are the names given to program elements such as variables and functions keywords are reserved words which cannot be used as identifiers provides four basic data typescharintfloatand double variable is defined as meaningful name given to data storage location in computer memory standard library function scanf(is used to input data in specified format printf()function is used to output data of different types in specified format supports different types of operators which can be classified into following categoriesarithmeticrelationalequalitylogicalunaryconditionalbitwiseassignmentcommaand sizeof operators