Basic Variables in C Programming | Programming and Data Structures - Computer Science Engineering (CSE) PDF Download

A variable is nothing but a name given to a storage area that our programs can manipulate. Each variable in C has a specific type, which determines the size and layout of the variable's memory; the range of values that can be stored within that memory; and the set of operations that can be applied to the variable.

The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because C is case-sensitive. Based on the basic types explained in the previous chapter, there will be the following basic variable types −

TypeDescription
charTypically a single octet(one byte). This is an integer type.
intThe most natural size of integer for the machine.
floatA single-precision floating point value.
doubleA double-precision floating point value.
voidRepresents the absence of type.


C programming language also allows to define various other types of variables, which we will cover in subsequent chapters like Enumeration, Pointer, Array, Structure, Union, etc. For this chapter, let us study only basic variable types.

Variable Definition in C

A variable definition tells the compiler where and how much storage to create for the variable. A variable definition specifies a data type and contains a list of one or more variables of that type as follows.

type variable_list;

Here, the type must be a valid C data type including char, w_char, int, float, double, bool, or any user-defined object; and variable_list may consist of one or more identifier names separated by commas. Some valid declarations are shown here.

The line int i, j, k; declares and defines the variables i, j, and k; which instruct the compiler to create variables named i, j and k of type int.

Variables can be initialized (assigned an initial value) in their declaration. The initializer consists of an equal sign followed by a constant expression as follows.

type variable_name = value;

Some examples are −

extern int d = 3, f = 5;    // declaration of d and f. 
int d = 3, f = 5; // definition and initializing d and f.
byte z = 22; // definition and initializes z.
char x = 'x'; // the variable x has the value 'x'.

For definition without an initializer: variables with static storage duration are implicitly initialized with NULL (all bytes have the value 0); the initial value of all other variables are undefined.

Variable Declaration in C

A variable declaration provides assurance to the compiler that there exists a variable with the given type and name so that the compiler can proceed for further compilation without requiring the complete detail about the variable. A variable definition has its meaning at the time of compilation only, the compiler needs actual variable definition at the time of linking the program.

A variable declaration is useful when you are using multiple files and you define your variable in one of the files which will be available at the time of linking of the program. You will use the keyword extern to declare a variable at any place. Though you can declare a variable multiple times in your C program, it can be defined only once in a file, a function, or a block of code.


Try the following example, where variables have been declared at the top, but they have been defined and initialized inside the main function −

#include <stdio.h>

// Variable declaration:
extern int a, b;
extern int c;
extern float f;

int main () {

/* variable definition: */
int a, b;
int c;
float f;

/* actual initialization */
a = 10;
b = 20;

c = a + b;
printf("value of c : %d
", c);

f = 70.0/3.0;
printf("value of f : %f
", f);

return 0;
}

When the above code is compiled and executed, it produces the following result −

value of c : 30
value of f : 23.333334

The same concept applies to function declaration where you provide a function name at the time of its declaration and its actual definition can be given anywhere else. For example −

// function declaration
int func();

int main() {

// function call
int i = func();
}

// function definition
int func() {
return 0;
}

Lvalues and Rvalues in C

There are two kinds of expressions in C −

  • lvalue Expressions that refer to a memory location are called "lvalue" expressions. An lvalue may appear as either the left-hand or right-hand side of an assignment.

  • rvalue The term rvalue refers to a data value that is stored at some address in memory. An rvalue is an expression that cannot have a value assigned to it which means an rvalue may appear on the right-hand side but not on the left-hand side of an assignment.

Variables are lvalues and so they may appear on the left-hand side of an assignment. Numeric literals are rvalues and so they may not be assigned and cannot appear on the left-hand side. Take a look at the following valid and invalid statements −

int g = 20; // valid statement

10 = 20; // invalid statement; would generate compile-time error

The document Basic Variables in C Programming | Programming and Data Structures - Computer Science Engineering (CSE) is a part of the Computer Science Engineering (CSE) Course Programming and Data Structures.
All you need of Computer Science Engineering (CSE) at this link: Computer Science Engineering (CSE)
119 docs|30 tests

Top Courses for Computer Science Engineering (CSE)

FAQs on Basic Variables in C Programming - Programming and Data Structures - Computer Science Engineering (CSE)

1. What are Lvalues and Rvalues in C programming?
Ans. In C programming, an lvalue refers to an expression that represents a memory location or an object that can be assigned a value. On the other hand, an rvalue refers to an expression that represents a value or a constant. Lvalues can appear on the left side of an assignment operator, while rvalues can only appear on the right side.
2. How are lvalues and rvalues different in terms of assignment?
Ans. Lvalues can be assigned a new value, as they represent memory locations or objects that can be modified. On the other hand, rvalues cannot be assigned a new value directly, as they represent constants or values. However, the value of an rvalue can be used to initialize an lvalue or be used in an expression.
3. Can an lvalue be used as an rvalue?
Ans. Yes, an lvalue can be used as an rvalue. When an lvalue is used as an rvalue, the value stored in the memory location represented by the lvalue is used. This can happen, for example, when passing an lvalue as an argument to a function that expects an rvalue.
4. Can an rvalue be used as an lvalue?
Ans. No, an rvalue cannot be used as an lvalue. Since rvalues represent constants or values, they do not have a specific memory location that can be modified. Therefore, it is not possible to assign a new value to an rvalue or use it as an lvalue in any way.
5. What are some common examples of lvalues and rvalues in C programming?
Ans. Some common examples of lvalues include variables, arrays, and structures, as they represent memory locations that can be modified. On the other hand, some common examples of rvalues include constants, literal values, and the results of arithmetic or logical operations, as they represent values that cannot be modified directly.
119 docs|30 tests
Download as PDF
Explore Courses for Computer Science Engineering (CSE) exam

Top Courses for Computer Science Engineering (CSE)

Signup for Free!
Signup to see your scores go up within 7 days! Learn & Practice with 1000+ FREE Notes, Videos & Tests.
10M+ students study on EduRev
Related Searches

Basic Variables in C Programming | Programming and Data Structures - Computer Science Engineering (CSE)

,

Important questions

,

Exam

,

ppt

,

Objective type Questions

,

past year papers

,

shortcuts and tricks

,

Summary

,

pdf

,

Basic Variables in C Programming | Programming and Data Structures - Computer Science Engineering (CSE)

,

Previous Year Questions with Solutions

,

mock tests for examination

,

video lectures

,

Viva Questions

,

MCQs

,

Sample Paper

,

study material

,

Basic Variables in C Programming | Programming and Data Structures - Computer Science Engineering (CSE)

,

Semester Notes

,

Free

,

practice quizzes

,

Extra Questions

;