Learn everything about variables in C


Reading time: 20 minutes | Coding time: 4 minutes

A variable is a designated location in memory that is used to store data. Variable has name and a memory location.If we declare a variable in C, it means that we are asking the operating system to reserve a memory partition with that variable name.

In this article, we will take a look into variables of different data types in C, how to get memory address and pointer to a variable and others.

Syntax

data_type variable_name = value;

Examples:

int b = 3;
char x = 'X';
float f = 3.24;

Rules for declaring a variable name

  1. Variable name can be a collection of uppercase letters, lowercase letters digits and underscores.
  2. Commas & blanks are not allowed.
  3. The first character of the name should be uppercase letter or underscore.
  4. No special symbols other than underscore are allowed.

Types of variables

Basic types of variables:

  1. Char
  2. int
  3. float
  4. Double
  5. void

char for Character

Typically stores a single character.

#include<stdio.h>
void main()
{
    char x = 'X';
    printf("%c",x);
}

int for Integers

Used to store integer values.

#include<stdio.h>
void main()
{
    int a = 10;
    printf("%d",a);
}

Output:

10

float for Floating point precision numbers

Used to store decimal values with single precision.

#include<stdio.h>
void main()
{
    float a = 1.2;
    printf("%f",a);
}

Output

1.200000

double for double precision numbers

Used to store decimal value with double precision.

#include<stdio.h>
void main()
{
    double a = 3.12;
    printf("%f",a);
}

Output

3.120000

Based on the scope there are two types of variable in C programme

  1. Local variable
  2. Global variable

What are Local Variables?

  • Local variable exit only within the function.
  • Outside functions cannot access this variable.

Example:

#include<stdio.h>
void main()
{
    int a, b; //local variable declaration 
    
    a = 2; //initialization
    b = 5; //initialization
    
    printf("%d", a + b);
}

Output

7

What are Global Variables?

  • Global variables exit throughout the programme.
  • These variables can be access from anywhere in the programme.
  • The variable is defined outside the main function.

Example:

#include<stdio.h>
int a = 5; //global variable declaration 
void main()
{
    int b = 2;
    printf("%d", a + b);
}

Output

7

How to find Size of a variable in C?

sizeof operator is used to know the amount of memory allocated to a variable.

#include<stdio.h>
void main()
{
    int a = 10;
    printf("%d",sizeof(a));
}

output

4

Pointers to variables in C

  • Pointers are variables which is used to store the address of another variable.
  • Pointers can be belong to any data type such as int, float, char etc.
  • Pointer allocate memory dynamically.

syntax

    data_type *var_name

Example:

int *a;
char *c;
#include<stdio.h>
void main()
{
    int *a, b;
    b = 10;
    a = &b; // address of varible b is assigned to pointer a
    
    printf("%d",*a);
}

Output

10

How to printing memory address of variable in C?

There are two ways to obtain the address of a variable:

  1. Using "address of"(&) operator
  2. Using pointer variable

"address of" (&) operator

#include<stdio.h>
void main()
{
    int a; 
    int *value = &a;
    printf("Address of a is %p",*value);
}

output

Address of a is 0x7fff

pointer variable

Pointer variable will return the value of another variable.

#include<stdio.h>
void main()
{
    float a;
    float *value = &a;
    
    printf("Address of a is: %p",value);
}

Output:

Address of a is: 0x7fff23c35e04