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

System bus and device speeds as the cpu speed increases, Q. Why is it impor...

Q. Why is it important to scale up system bus and device speeds as the CPU speed increases? Answer: Consider a system which carries out 50% I/O and 50% computes. Doubling-up

Contiguous-memory allocation, Compare contiguous-memory allocation with pur...

Compare contiguous-memory allocation with pure paging in the following aspects: 1. In support of dynamic memory allocation: most systems allow programs to allocate more memory t

Explain swapping, Explain Swapping Swapping is a method of temporarily ...

Explain Swapping Swapping is a method of temporarily removing inactive programs from the memory of computer system.

Bag of tasks, The producer-consumermodel above has a standard human analogy...

The producer-consumermodel above has a standard human analogy of an assembly line. Humans have specialized skills, however, whereas threads running the same program do not need to

Illustrate example for segmentation, EXAMPLE FOR SEGMENTATION Consider ...

EXAMPLE FOR SEGMENTATION Consider an instance as given in the table and we have five segments numbered from 0 through 4 the segment is stock in the physical memory as shown. Th

Bind a real-time thread to an lwp, Q. Suppose an operating system maps user...

Q. Suppose an operating system maps user-level threads to the kernel utilizing the many-to-many model where the mapping is done through the use of LWPs. In addition the system allo

Aggregate planning, Prepare a report that motivates alternatives reactive s...

Prepare a report that motivates alternatives reactive strategies that can be used by wind Mud clothing factory

Unix process api, Unix process API The two most important function calls...

Unix process API The two most important function calls to use when programming with several processes are fork and exec:  fork() creates a copy of current process. It gives

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