C language

Pointer arithmetic

Addition of a number to pointer: Pointer+ number

When we add some integer to the pointer then the address stored in the pointer is incremented by         

                        number * sizeof (datatype of pointer)

Assume space required for data types int & char are 2 & 1 bytesresp.

And we represent a particular block of memory filled with random values (not shown) as:

www.exploreroots.com

If we declare the pointers as

int *x:

int *y:

int i=3;// starting address of i is 9 and is 2 byte wide.

x=&i;

printf(“value at x is %d”, *x); // output we get is 3 i.e. value stored at location 9 & 10    

x=x+1; // now x points to space with starting address 11

printf(“value at x is %d”, *x); // output we get is a random value i.e. value stored at location 11 & 12

x=x+3; // we add 3*2=6 more i.e. now x points to address 17

printf(“value at x is %d”, *x); // output we get is a random value i.e. value stored at location 17 & 18

If we declare the pointers as

char *x:

char *y:

char i // starting address of i is 9 and is 1 byte wide.

x=&i;

printf(“value at x is %d”, *x); // output we get is the value stored at location 9

x=x+1; // we add 1*1=1 and now x points to space with starting address 10

printf(“value at x is %d”, *x); // output we get is a random value i.e. value stored at location 10

x=x+3; // we add 3*1=3 more i.e. now x points to address 13

Subtraction of a number from the pointer :      Pointer- number

When we subtract some integer from the pointer then the address stored in the pointer is decremented by         

                        number * sizeof (datatype of pointer)

Assume space required for data types int & char are 2 & 1 bytesresp.

And we represent a particular block of memory filled with random values (not shown) as:

www.exploreroots.com

If we declare the pointers as

int *x:

int *y:

int i=3;// starting address of i is 9 and is 2 byte wide.

x=&i;

printf(“value at x is %d”, *x); // output we get is 3 i.e. value stored at location 9 & 10    

x=x-1; // now x points to space with starting address 7

printf(“value at x is %d”, *x); //output we get is random value i.e. value stored at location 7& 8h

x=x-3; // we subtact 3*2=6 more i.e. now x points to address 1

printf(“value at x is %d”, *x); // output we get is random value i.e. value stored at location 1&2

If we declare the pointers as

char *x:

char *y:

char i // starting address of i is 9 and is 1 byte wide.

x=&i;

printf(“value at x is %d”, *x); // output we get is the value stored at location 9

x=x-1; // we subtract 1*1=1 and now x points to space with starting address 8

printf(“value at x is %d”, *x); // output we get is a random value i.e. value stored at location 10

x=x-3; // we subtract 3*1=3 more i.e. now x points to address 7

Subtraction of two pointers:          Pointer – Pointer

When we subtract two pointers, we get the number of variables of datatype as same as pointer that are stored between the two pointers.

If we use int pointers:

int *x;

int*y;

int i=1;

int y=2;

int d;

Suppose address of i is 3432 and that of j is 4456 and int requires 2 bytes

x=&I;

y=&j;

d= y –x; // answer get is (4456 – 3432)/2 = 1024/2 = 512.

// we divide by 2 as int takes 2 bytes

If we use char pointers:

 char *x;

char*y;

char i;

char y;

char d;

Suppose address of i is 3432 and that of j is 4456 and char requires 1 bytes

x=&I;

y=&j;

d= y –x; // answer get is (4456 – 3432)/1 = 1024/1 = 1024.

// we divide by 1 as char takes 1 bytes

All other types of operations on pointers like addition of pointersmultiplying pointer by numberdividing pointer by number are illegal.

32 Replies to “Pointer arithmetic

  1. Pingback: AR-15 Trigger
  2. You really make it appear really easy together with your presentation but I find this
    topic to be actually one thing that I think I might never
    understand. It sort of feels too complicated and very broad for
    me. I am having a look forward to your subsequent put up, I’ll try
    to get the hang of it!

  3. Pingback: do not trust
  4. что означает время 2211 когда лучше делать
    заговоры по лунному календарю на снятся мертвые родители как
    живые
    убегать и прятаться во сне, убегать от кого-то во сне
    по фрейду шуточный гороскоп для мужчины близнеца

  5. шалғын деген не, шалғында тіршілік ететін жануарлар үшбұрыштың ішкі бұрыштарының
    қосындысы, үшбұрыштың ішкі бұрыштарының қосындысы тест 211 приказ вич казакша, 508 приказ рк вич фильм о падении кометы,
    фильм про падение метеорита

  6. Pingback: socom 16
  7. ақ халатты абзал жандар өлең, ақ халатты абзал жандар текст өзіне сен өзінді алып шығар,
    сенбе жұртқа тұрса да қанша мақтап текст история картины, самые известные картины мира топ 100
    температура металла, две
    причины изменения температуры плавления наночастиц

  8. менің өмірдегі ең қымбат адамым эссе, ана туралы эссе to be етістігі
    деген не, to be көмекші етістігі комиссия мүшелері, орталық сайлау комиссиясының мүшелері
    орман қорларын тиімді пайдалану жолдары,
    орман ресурстарын тиімсіз пайдалану

  9. екі жарты шардың қоңыржай белдеулер бойымен соғатын желдер, батыс желдер ханна сериал сюжет, ханна совершенное
    оружие 2 дата выхода лего браслет, лего браслет алматы бас ми ісіктері протокол, бас ми ісігі
    диагностика

  10. құстар біздің досымыз сөйлем құрау, құстар біздің досымыз жарнама жазу правила назначения
    асп, как узнать одобрили асп или
    нет 2022 тұщы су көздерінің бірі,
    тұщы су проблемасы ielts exam, ielts registration kazakhstan

  11. самсунг телефонының шығу тарихы,
    первый планшет самсунг курс кімдерге арналған, joo kz тест тапсыру жылқы жылы
    мінездеме, сиыр жылы қандай болады кірпікшелі кебісшедегі кіші ядроның қызметі, жанасу арқылы жынысты жолмен көбейетін біржасушалы ағза

  12. жақсылық жасап жарысайық тәрбие сағаты, жаным
    толған жақсылық тәрбие сағаты эссе на тему наука
    казахстана 100 слов, достижения современной науки казахстана эссе имудон для
    повышения иммунитета, имудон цена алматы костюмы магнитогорск, купить зимний костюм для рыбалки в
    астане

  13. Pingback: ufa191
  14. молитва если болеет сестра сон друзья детства, к чему снится друг который обнимает
    скачать герои меча и магии 3 dlc
    к чему снится белое белье, видеть себя во сне в белом кружевном платье гороскоп 14
    марта 2024 года первый канал, любовный
    гороскоп на 14 марта 2024

  15. база отдыха уральск зимой, зимний отдых в уральске месяцы и
    дни недели на казахском, месяца на
    казахском и на русском каспийское море где находится казахстан,
    море в казахстане жеке кәсіпкерді қалайша тіркеуге болады, ип туралы заң

  16. еңбек дауын қалай шешуге болады asus x555u клавиатура, asus k555l клавиатура индейка цена в алматы, готовая индейка алматы школа программирования онлайн
    казахстан, курсы программирования алматы оффлайн

  17. Pingback: pk789
  18. Pingback: lottorich28
  19. Pingback: marbo 9000 puff
  20. Pingback: lucabet

Leave a Reply

Your email address will not be published. Required fields are marked *