← Back to C Course | Chapter 1: Introduction & Basics | Lesson 19 of 21

C Multiple Variables

C lets several variables of the same type be declared, and optionally initialized, in a single comma-separated statement, and even supports chained assignment across multiple variables.
Syntax
c
data_type name1, name2, name3;

data_type name1 = value1, name2 = value2, name3 = value3;

Declaring Multiple Variables of the Same Type

Multiple variables of the same type can be declared in a single statement by separating their names with commas after one type keyword, avoiding the repetition of writing the type multiple times.

Example: Declaring Multiple Variables of the Same Type

c
// Include standard input/output (printf, scanf)
#include <stdio.h>
// Program execution starts in main()
int main() {
	int a, b, c;
	a = 1; b = 2; c = 3;
	// Print formatted text to the screen
	printf("%d %d %d", a, b, c);
	// Return 0 to signal that the program finished successfully
	return 0;
}

Declaring and Initializing Together

Each variable in a comma-separated declaration can also be given its own initial value, combining declaration and initialization for several variables of the same type in one line.

Example: Declaring and Initializing Together

c
// Include standard input/output (printf, scanf)
#include <stdio.h>
// Program execution starts in main()
int main() {
	int a = 1, b = 2, c = 3;
	// Print formatted text to the screen
	printf("%d %d %d", a, b, c);
	// Return 0 to signal that the program finished successfully
	return 0;
}

Multiple Variables of Different Types

A single declaration statement can only introduce variables of one specific type, so variables of different types, like an int and a float, must always be declared in separate statements.

Example: Multiple Variables of Different Types

c
// Include standard input/output (printf, scanf)
#include <stdio.h>
// Program execution starts in main()
int main() {
	// Declare age and set it to 25
	int age = 25;
	// Declare height and set it to 5.9f
	float height = 5.9f;
	// Print formatted text to the screen
	printf("%d %.1f", age, height);
	// Return 0 to signal that the program finished successfully
	return 0;
}

Multiple Assignment in One Statement

C allows chained assignment, such as x = y = z = 10, which evaluates right to left, assigning the same value to multiple variables in a single expression statement.

Example: Multiple Assignment in One Statement

c
// Include standard input/output (printf, scanf)
#include <stdio.h>
// Program execution starts in main()
int main() {
	int x, y, z;
	x = y = z = 10;
	// Print formatted text to the screen
	printf("%d %d %d", x, y, z);
	// Return 0 to signal that the program finished successfully
	return 0;
}

Readability Considerations

While declaring many variables on one line saves space, grouping only closely related variables together and keeping unrelated ones on separate lines generally keeps code easier to read and maintain.

Example: Readability Considerations

c
// Include standard input/output (printf, scanf)
#include <stdio.h>
// Program execution starts in main()
int main() {
	int width = 10, height = 20;
	// Declare price and set it to 9.99f
	float price = 9.99f;
	// Print formatted text to the screen
	printf("%d %d %.2f", width, height, price);
	// Return 0 to signal that the program finished successfully
	return 0;
}
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
Common Mistakes
  1. Writing int a, b = 5; and assuming both are 5, when only b is initialized.
  2. Writing int a = b = 0; where b is not declared, which does not compile.
  3. Declaring different types in one statement like int a, float b;, which is not allowed.

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.