Skip to main content

Pointer Arithmetic

Increment and Decrement

When we increment an integer pointer by1, it increments by sizeof(int). 

Example: 

int i=20; 
int *ptr=&i; 
i ptr ptr++ ptr 
 20 1000 1002
 1000 2058 or ++ptr 2058 

If a pointer is decremented by 1, it is decremented by the size of the data item it points to. 

When a pointer is incremented by 1 the new value will be (current address in pointer) + sizeof(data_type) 

Pointer Arithmetic Continued … 

Addition and Subtraction


‘C’ allows integers to be added to or subtracted from pointers. When an integer value i is added to a pointer, the new address in the pointer will be 
(current address in pointer) + i* sizeof(data type) 

Example:

int *ptr1, n; 
ptr1=&n; 
ptr1=ptr1+3; 

This code will increment the contents of ptr1 by 3*sizeof(int). If the address in the pointer is 1000, the new address will be 1006. The same concept applies for decrementing a pointer.

Pointer Arithmetic Continued … 

Differencing


Differencing is the subtraction of two pointers. The difference between two pointers indicates how far apart they are. It gives the number of elements between the two pointers. The result is: 
(address in pointer1 – address in pointer2) / sizeof(data_type) 

Example: 

int n,*p,*q; 
p=&n; //suppose address is 1000 
q=p+2; //q now has 1004 
printf(“%d”,q-p); // (1004-1000)/sizeof (int)  
This code will yield a value of 2 even though numerically q and p differ.

Summary of pointer operations


Assignment


The value assigned should be an address  

Indirection

Getting the value stored at an address.

Address of

The & operator used with a variable (or pointer) gives its address. 

Increment

 Incrementing a pointer by 1 adds sizeof(datatype) to the address in the pointer. 
 

Decrement

Decreasing a pointer by 1 subtracts sizeof(datatype) from the address. 

Addition and Subtraction

Adding or subtracting an integer i from a pointer increases/decreases the address by i*sizeof(datatype). 

Differencing

Subtraction of two pointers gives the number of elements between two pointers.
Precedence of & and * operators & and * are unary operators. They have right to left associativity. 

& and * are unary operators. They have right to left associativity. 

Example 1 : 
++*ptr 
Example 
int n=10,*ptr; 
int n=10,*ptr; 
ptr=&n; 
ptr=&n; 
printf(“%d”,++*ptr); 
printf(“%d”,++*ptr); 
Here it will fetch the value at ptr first and then increment it hence 
Here it will fetch the value at ptr first and then increment it hence output will be 11. 
output will be 11. 
 ++ *ptr => ++(*ptr) 
 ++ *ptr => ++(*ptr) 
 =>++(*1058) 
=>++(*1058) 
=>++(10) 
=>++(10) 
=>11 
=>11 
 n ptr ++*ptr ptr n 
 n ptr ++*ptr ptr n 
10 1058 1058 11 
1058 2002 2002 1058
1058 2002 2002 1058 

Example 2: *++ptr 
int n=10,*ptr; 
ptr=&n; 
printf(“%d”,*++ptr); 
Here ++ will be done first. This increments ptr by sizeof(int). Then the value pointed to by the address in ptr will be accessed. *++ ptr => *(++ptr) 
=>*(++1058) 
=>*(1060) 
=>data_at_1060 
n ptr *++ptr ptr Refers  
10 1058 1060 data1058 2002 2002 to 1060 

Example 3: *ptr++ 
Here also, ++ will be performed first. But since it is post-increment, it will first fetch the value pointed to and then increment ptr. 
Relationship between Arrays and Pointers.

Comments

Trending⚡

Understanding link.click() in JavaScript

Hey! Today i am going to share with you how to use link.click() function in javascript As a JavaScript developer, you may come across the need to programmatically click a link on a web page. The link.click() method is a commonly used way to do this, and it is important to understand how it works and when to use it. What is link.click()? link.click() is a method that can be used to simulate a click on a link element in JavaScript. It is typically used when you want to trigger a link click event programmatically, rather than requiring the user to physically click the link. How to use link.click() Using link.click() is relatively straightforward. First, you need to select the link element you want to click using a DOM selector such as getElementById() or querySelector(). Then, you can call the click() method on the link element to simulate a click. Here is an example: // select the link element const myLink = document.getElementById('my-link'); // simulate a cl...

Policy vs Innovation Matrix - India

Policy vs Innovation Matrix Policy vs Innovation Matrix that shows the structural difference between policy intent and actual innovation output — and how India’s model is transforming to match global innovation systems . From Paper Policies to Product Power 🧱 Traditional Indian Model (Old System) Policy Layer Reality Innovation Outcome Policy Vision Strong national policies Vision without execution pipelines Funding Govt-dominated funding Limited capital availability Risk Culture Risk-averse systems No deep-tech experimentation Research Academic publications Low commercialization Industry Role Minimal R&D involvement Weak private innovation Infrastructure Limited labs & compute Research bottlenecks Talent High-quality brains Brain drain Commercialisation Weak tech transfer Research stays in journals Scale Fragmented schemes No national scale impact Speed Slow approvals Innovation delays Result: ➡ Policy existed ➡ Innovation did not scale ➡ Research stayed inside institutions ...

Pointer const and Constant Pointer

A constant pointer is a pointer that cannot change the address which it stores.   Syntax: datatype *const pointer_name;  Example:  int a=10,b=20;  int *const ptr;  ptr=&a;  ptr=&b; //here the address in ptr cannot be changed so not allowed . Pointer to constant  Address in the pointer can be changed but the value of the data element which the pointer points cannot be changed.  Syntax: const datatype * pointer_name;  Example:  int a=10,b=20;  const int *ptr=&a;  *ptr=100; //here the value which ptr points to cannot changed so not allowed ptr=&b; //allowed Pointers and Const  The previous two can be combined to form a constant pointer to constant  Syntax: const datatype *const pointer_name; Example:  const int * const ptr;  int a=10,b=20;  const int * const ptr=&a;  *ptr=100; //not allowed  ptr=&b;//not allowed  Here the value which ptr points to cannot be changed an...

Quiz tells you what type of wife you want

What Type of Wife are You Looking For? Attend this quiz and know your wife expections Quiz reveals type of wife you expect, lets answer carefully... Personality Questions: 1. What type of personality are you looking for in a wife? Quiet and reserved Outgoing and social Intelligent and witty 2. What type of sense of humor are you looking for in a wife? Dry and sarcastic Witty and clever Playful and silly 3. What type of interests are you looking for in a wife? Intellectual and educational Creative and artistic Athletic and outdoorsy Values Questions: 4. What type of family values are you looking for in a wife? Traditional and conservative Open-minded and progressive Balanced and equal 5. What type of political views...

India’s Landmark Era of Research, Innovation & Deep-Tech Growth

India’s research and development (R&D) ecosystem is undergoing a historic transformation. The country is shifting from a primarily public-funded research model to a private-sector-driven, innovation-led economy , backed by massive strategic investments. This transformation directly supports the national vision of Viksit Bharat @ 2047 , with Investment and Innovation identified as two of the four core growth engines in the 2025–26 Union Budget . The focus is clear: ➡ Build global innovation leadership ➡ Strengthen deep-tech infrastructure ➡ Attract private capital into strategic sectors ➡ Create a strong research-to-commercialisation pipeline 🧠 Strategic Institutional Foundations Anusandhan National Research Foundation (ANRF) Operational since 2024 Target: ₹50,000 crore mobilisation over 5 years Purpose: Bridge academia–industry collaboration Provide strategic national direction in science & technology Enable interdisciplinary research to solve complex societal challenges R...

The 175 Billion Parameter Question: 5 Surprising Lessons from GPT-3

The 175 Billion Parameter Question: 5 Surprising Lessons from GPT-3 Is scale alone enough to transform artificial intelligence? When GPT-3 launched with 175 billion parameters , it didn’t just break records — it reshaped how we think about intelligence itself. The End of Specialized AI: A Paradigm Shift For nearly a decade, artificial intelligence advanced through specialization. Engineers built narrow systems: one for translation, another for summarization, another for classification. Each required curated datasets and task-specific fine-tuning. This approach worked — but it was fragile. Unlike humans, who can understand new tasks from a single instruction, traditional AI systems required thousands of labeled examples. GPT-3 changed that equation. By scaling a single autoregressive model to 175 billion parameters, researchers demonstrated that size itself could unlock general-purpose adaptability. Instead of retraining for each task, GPT-3 adapts...