This blog is under construction

Tuesday 8 October 2013

How to declare pointers in c?

Below is the general form of pointer declaration.

datatype  * var_name;

datatype   - type of data to which the pointer points to
 *             - indirection operator(used to represent pointer)
var_name - name of the pointer variable.

The following are few pointer declarations:
char  * char_ptr;  /* pointer to character */
int     *integer_ptr; /* pointer to integer */
float  *float_ptr;  /* pointer to float */

How to assign values to pointers in c?
Below program illustrates how to assign values to pointers.


  #include <stdio.h>
  #include <string.h>

  int main() {
        char *char_ptr, str[32];
        int *int_ptr, int_val;
        float *float_ptr, float_val;

        /* assigning values to non-pointer variables */
        strcpy(str, "String");
        int_val = 100;
        float_val = 98.9;

        /* 
         * address of non-pointer variables 
         * is assigned as value for pointers
         */
        char_ptr = &str[0];
        int_ptr = &int_val;
        float_ptr = &float_val;

        /* printing the address of variables and values of pointers */
        printf("Value of int_ptr: 0x%x\tAddress of "
                "int_val: 0x%x\n", (int)int_ptr, (int)&int_val);
        printf("Value of char_ptr: 0x%x\tAddress of "
                "str[0]: 0x%x\n", (int)char_ptr, (int)&str[0]);
        printf("Value of float_ptr: 0x%x\tAddress of "
                "float_val: 0x%x\n", (int)float_ptr, (int)&float_val);

        /* printing the values pointed by pointer */
        printf("\n*int_ptr: %d\n", *int_ptr);
        printf("*float_ptr: %.2f\n", *float_ptr);
        printf("string pointed by char_ptr: ");
        while (*char_ptr != '\0') {
                printf("%c", *char_ptr);
                char_ptr++;
        }
        printf("\n");

        return 0;
  }




  Output:
  jp@jp-VirtualBox:~/$ ./a.out
  Value of int_ptr: 0xbf9da510 Address of int_val: 0xbf9da510
  Value of char_ptr: 0xbf9da51c Address of str[0]: 0xbf9da51c
  Value of float_ptr: 0xbf9da508 Address of float_val: 0xbf9da508

  *int_ptr: 100
  *float_ptr: 98.90
  string pointed by char_ptr: String


1 comment:

  1. Dell Laptop Repair Center in Noida is no.1 service center which provides door to door services in or its nearby areas. We have expert, technicians who can repair your laptop at your home. . Call us: 9891868324

    ReplyDelete