Address operator and pointers, Operating System

Assignment Help:

  We are use to using variables within C without thinking about where they are stored. Most variables are dynamic i.e. can change, therefore they are stored in Ram, unlike a program once developed is static i.e. doesn't change; this is often storage in EPROM or Rom. We can directly access the address where the variable is stored by means of the address operator '&' .This returns the address of the variable followed i.e.

printf("The address of var A is %lx and the contents of var A is %x",&a,a) 
 
This address is often fixed by the compiler and cannot be altered easily, very often we want initialize the address of a variable and vary it, C uses the concept of the pointer to handle this. A pointer is a variable which holds an address (This is in fact an address register on the 68Hc11 i.e. X, Y). We can explicitly load up the variable with any number (address which we like) and perform simple mathematical functions on it i.e. add, mul, sub etc. In order to declare the variable as a pointer we need to prefix it with a * in its declarations i.e.

      int *point;  
      char *point; 
      float *point;

The type of pointer  used describes the size of the data to be read  i.e. a char pointer reads 7 bits of data , unsigned char 8 bits i.e. (some programmers use sizeof function to get actual machine size).

    char * point  == 7 bits
     unsigned char * point  == 8 bits
     int * point  == 15 bits
     unsigned int  * point  == 16 bits
     float * point  == 31 bits
     unsigned float  * point  == 32 bits


Related Discussions:- Address operator and pointers

Malloc, I need help implementing malloc

I need help implementing malloc

Which are the different states of a process, Which are the different states...

Which are the different states of a process?   Different status of a process is: New: When the process is created. Running: When instructions are executed. Wait

Define rotational latency and disk bandwidth, Define rotational latency and...

Define rotational latency and disk bandwidth. Rotational latency is the additional time waiting for the disk to rotate the wanted sector to the disk head. The disk bandwidth is

Inventory differences, What makes a Just-in-Time inventory system differ fr...

What makes a Just-in-Time inventory system differ from a traditional inventory system?

Macro, What is macro expansion

What is macro expansion

What is the translation lookaside buffer, What is the Translation Lookaside...

What is the Translation Lookaside Buffer (TLB) In a cached system, the base addresses of the last few referenced pages is maintained in registers known as the TLB that aids in

Differentiate pre-emptive and non-preemptive scheduling, Differentiate pre-...

Differentiate pre-emptive and non-preemptive scheduling In a pre-emptive scheduling technique, CPU can be taken away from a process if there is a requirement while in a non-pre

Virtual memory, In modern operating systems, applications do not directly a...

In modern operating systems, applications do not directly access the physical memory. Instead, they use so-called virtual memory, where each virtual address is translated to a phys

How are file sharing and protection implemented?, How are file sharing and ...

How are file sharing and protection implemented? To implement file protection and sharing, the system ought to maintain more file and directory attributes than are needed on a

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd