search
Login

Categories


C Books Guide and List
C++ Books Guide and List
Best Java Books

3.8k questions

4k answers

117 comments

10.7k users

0 votes
69 views
asked Expert 13.2k points 26 40 57
edited by

1 Answer

0 votes
 
Best answer
A pointer is a special variable in C language meant just to store address of any other variable or function. Pointer variables unlike ordinary variables cannot be operated with all the arithmetic operations such as '*','%' operators.It follows a special arithmetic called as pointer arithmetic.

A pointer is declared as:

int *ap;

int a = 5;

In the above two statements an integer a was declared and initialized to 5. A pointer to an integer with name ap was declared. Next before ap is used ap=&a; This operation would initialize the declared pointer to int. The pointer ap is now said to point to a.

Operations on a pointer:

Dereferencing operator ' * ': This operator gives the value at the address pointed by the pointer . For example after the above C statements if we give printf("%d",*ap); Actual value of a that is 5 would be printed. That is because ap points to a. Addition operator ' + ': Pointer arithmetic is different from ordinary arithmetic. ap=ap+1;

Above expression would not increment the value of ap by one, but would increment it by the number of bytes of the data type it is pointing to. Here ap is pointing to an integer variable hence ap is incremented by 2 or 4 bytes depending upon the compiler.
answered Guru 39.1k points 10 21 32
selected by

Related questions

0 votes
1 answer 35 views
35 views
difference between a character array and a character pointer.
asked anonymous
0 votes
1 answer 37 views
37 views
asked sara Guru 24.6k points 29 51 76
0 votes
1 answer 100 views
0 votes
1 answer 18 views
18 views
asked smith Geek 15.3k points 14 39 58
0 votes
1 answer 12 views
12 views
asked john Guru 27.1k points 31 47 93
...