EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

C++ Identifiers

Home » Software Development » Software Development Tutorials » C ++ Programming Tutorial » C++ Identifiers

C++ Identifiers

Introduction to C++ Identifiers

Identifiers refer to a unique combination of letters and digits, either short or descriptive, that are used to identify a variable, method, class or any other object in a programming language uniquely. The identifiers in C++ can have identifiers with any length of characters. These characters can be alphanumeric i.e can contain letters, digits and underscores and whitespaces and special characters such as @,#,!etc are not allowed. These identifiers must start with a letter or an underscore and are case sensitive thus keywords must not be used as an identifier.

Explain all C++ Identifiers

Identifiers are used to represent various objects such as:-

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

  • 1.Constants
  • 2.Variables
  • 3.Functions
  • 4.Labels
  • 5.Defined Data Types

Rules for Declaring an Identifier

Let us understand some rules to declare them otherwise the compiler will throw an error.

  • Rule 1: It can be a combination of letters, digits or underscore, no special characters such as #,$,! @ are allowed in identifiers name.
  • Rule 2: The first character can be either letter or underscores(_). This means if we use digit as the first character in the name of an identifier such as 1num, it will not be treated as a valid name thus an error will be thrown by the compiler.
  • Rule 3: These are case sensitive, which means NUM1 and num1 are not the same identifiers.
  • Rule 4: A keyword cannot be used as an identifier. C++ library has a list of keywords used for different purposes such as if, else, long, int, float, goto, etc. These variables cannot be used as an identifier name because there is a reserved meaning for this word defined in the C++ library.

How do C++ Identifiers work?

Let us understand how identifiers can be used in

1. Constants

A constant are the variables whose values cannot be changed in the program execution. These can be declared either using # or const keyword.

Examples of Constants

Valid Identifiers Examples for Constants

  1. const int _sum
  2. const float Test1
  3. const int numberOfVehicles
  4. #define num 10

Invalid Identifiers Examples

  1. const float 2data1
  2. const char name-1
  3. const int else

Let us understand it through the below example where we have declared constants using #define.  Here 1My-Char has been commented because the identifier name cannot contain ‘-‘ and must start with a letter or (_).

Code:

#include <iostream>
#define NUM1 10
#define NUM2  5
#define MyChar1 'E'
#define MyChar2 'N'
#define MyChar3 'D'
//#define 1My-Char
using namespace std;
int main()
{
int  mul;
mul = NUM1 * NUM2;
cout<<mul;
cout<< '\n';
cout<< MyChar1;
cout<< MyChar2;
cout<< MyChar3;
return 0;
}

Output:

Constants

2. Variables

These are names used to hold the value that is meant to be changed during the program execution. The syntax for declaring a variable is

Popular Course in this category
C++ Training (4 Courses, 5 Projects, 4 Quizzes)4 Online Courses | 5 Hands-on Projects | 37+ Hours | Verifiable Certificate of Completion | Lifetime Access | 4 Quizzes with Solutions
4.5 (4,828 ratings)
Course Price

View Course

Related Courses
Java Training (40 Courses, 29 Projects, 4 Quizzes)C Programming Training (3 Courses, 5 Project)

Syntax:

data_typevariable_name1 =value1

Validvariable Identifier

  1. int num1 =30
  2. float val2 = 40
  3. char name = ‘A’

Invalid Identifier

  1. int 1num =30
  2. char my-Var =’R’

In the below example, we have declared mul, my_Charvariable identifiers that follow the rules for identifiers.

Code

#include <iostream>
using namespace std;
int main()
{
int  mul;
char my_Char='A';
int i=0;
for(i=0;i<3;i++){
cout<<"IN LOOP"<<'\t'<<my_Char<<'\n';
my_Char='T';
}
return 0;
}

Output:

Variables

3. Functions

This refers to a group of statements that is meant to perform one independent task and must be given a name with which it can be identified. Here identifier is being used.

Valid function identifiers

int myFun1(){
//group of statments
}

Invalid identifier

int  my-Fun1(){
// - is not allowed in identifier’s name
}

Let us understand the example to see the identifier used as a function name.

Code:

#include <iostream>
using namespace std;
int sum4(int a,int b){
return a*b;
}
int main()
{
int res;
res=sum4(5,6);
cout<<res;
return 0;
}

Output:

Functions

4. Label

These are used to mark one line in the program to be used along with the goto keyword to directly pass the control of program execution to that statement.

Valid identifier names-

  1. myLabel:
  2. m2344:

Invalid inentifier names –

  1. my-Label:
  2. const:

Below is an example of using the label identifier.

Code:

#include <iostream>
using namespace std;
int main()
{
int i;
for(i=0;i<6;i++){
if(i==4){
goto label1;
}
else cout<<"yes"<<'\n';
}
label1: cout<<"limit reached";
}

Output:

C++ Identifiers - 4

5. User-defined DataTypes

These are data types defined by the user to store the value of different data types together. There are 3 user-defined data typer allowed in C++:-

  1. Struct
  2. Enum
  3. Union

The names for these data types are given using identifiers.

Valid identifiers

structStudent
{
introll_name;
int marks ;
}

Invalid identifier

Struct Student-1{
int 3roll_name;
}

Below is an example to use the identifier as user data defined data types.

Code:

#include <iostream>
using namespace std;
struct Student
{
int roll_num, marks;
};
int main()
{
int i;
struct Student s1 = {1,45};
struct Student s2 = {2,55};
cout<<"Student with roll_num "<<s1.roll_num <<" has got marks "<<s1.marks;
cout<<'\n';
cout<<"Student with roll_num "<<s2.roll_num <<" has got marks "<<s2.marks;
return 0;
}

Output:

C++ Identifiers - 5

Let us see one example in case we use an identifier that does not follow the above rules:-

Code:

#include <iostream>
using namespace std;
struct Student
{
int rollnum, 1marks;
};
int main()
{
int i;
}

Output:

C++ Identifiers - 6

Conclusion

The identifier is a combination of digits and letters and underscores(_)such that it starts with a letter or underscore that can be used as variable, constant, function names or user datatype variables. All identifiers must follow some of the rules otherwise will not be recognized by the compiler and error will be thrown and must not be one of the keywords defined keywords in C++ libraries.

Recommended Articles

This is a guide to C++ Identifiers. Here we discuss how the 5 C++ Identifiers work in detail with rules to use and examples to implement with codes and outputs. You can also go through our other related articles to learn more –

  1. C++ Struct Constructor
  2. C++ Data Types
  3. C++ Standard Template Library
  4. C++ Algorithm

All in One Software Development Bundle (600+ Courses, 50+ projects)

600+ Online Courses

50+ projects

3000+ Hours

Verifiable Certificates

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C plus plus Programming Tutorial
  • Basic
    • Introduction To C++
    • What is C++
    • Features of C++
    • Applications of C++
    • Best C++ Compiler
    • C++ Data Types
    • C++ Double
    • C++ unsigned int
    • User Defined Data Types in C++
    • Variables in C++
    • C++ Keywords
    • Pointers in C++
    • C++ Void Pointer
    • Function Pointer in C++
    • Iterator in C++
    • C++ Commands
    • Object in C++
    • C++ Literals
    • C++ Reference
    • C++ Undefined Reference
    • String in C++
    • C++ Programming Language (Basics)
    • C++ Identifiers
    • C++ Header Files
    • Type Casting in C++
    • C++ Formatter
  • Operators
    • C++ Operators
    • Arithmetic Operators in C++
    • Assignment Operators in C++
    • Bitwise Operators in C++
    • Relational Operators in C++
    • Boolean Operators in C++
    • Unary Operators in C++
    • C++ Operator[]
    • Operator Precedence in C++
    • C++ operator=()
  • Control Statements
    • Control Statement in C++
    • if else Statement in C++
    • Else If in C++
    • Nested if in C++
    • Continue Statement in C++
    • Break Statement in C++
    • Switch Statement in C++
    • goto Statement in C++
    • C++ Struct
    • Loops in C++
    • Do While Loop in C++
    • Nested Loop in C++
  • Functions
    • C++ String Functions
    • Math Functions in C++
    • Friend Function in C++
    • Recursive Function in C++
    • Virtual Functions in C++
    • strcat() in C++
    • swap() in C++
    • strcmp() in C++
    • ceil function in C++
    • C++ begin()
    • size() in C++
    • C++ test()
    • C++ any()
    • C++ Bitset
    • C++ find()
    • C++?Aggregation
    • C++?String append
    • C++ String Copy
    • C++ end()
    • C++ endl
    • C++ push_back
    • C++ shuffle()
    • malloc() in C++
    • C++ reserve()
    • C++ unique()
    • C++ sort()
    • C++ find_if()
    • Reflection in C++
    • C++ replace()
    • C++ search()
    • C++ Memset
    • C++ size_t
    • C++ Substring
    • C++ Max
    • C++ absolute value
    • C++ memcpy
    • C++ wchar_t
    • C++ free()
    • C++ sizeof()
    • C++ Move Semantics
  • Array
    • Arrays in C++
    • 2D Arrays in C++
    • 3D Arrays in C++
    • Multi-Dimensional Arrays in C++
    • C++ Array Functions
    • String Array in C++
    • C++ Length of Array
    • C++ arraylist
  • Constuctor and Destructor
    • Constructor and Destructor in C++
    • Constructor in C++
    • Destructor in C++
    • Copy Constructor in C++
    • Parameterized Constructor in C++
  • Overloading and overriding
    • Overloading and Overriding in C++
    • Overloading in C++
    • Overriding in C++
    • Function Overloading in C++
    • Function Overriding in C++
    • Method Overloading in C++
  • Inhertiance
    • Types of Inheritance in C++
    • Single Inheritance in C++
    • Multiple Inheritance in C++
    • Hierarchical Inheritance in C++
    • Multilevel Inheritance in C++
    • Hybrid Inheritance in C++
  • Sorting
    • Sorting in C++ 
    • Heap Sort in C++
    • C++ Vector Sort
    • Insertion Sort in C++
    • Selection Sort in C++
  • Advanced
    • C++ namespace
    • Encapsulation in C++
    • Access Modifiers in C++
    • Abstract Class in C++
    • C++ Class and Object
    • What is Template Class in C++?
    • C++ Algorithm
    • Data Structures and Algorithms C++
    • C++ Garbage Collection
    • Virtual Keyword in C++
    • Access Specifiers in C++
    • Storage Class in C++
    • Call by Value in C++
    • Multimap in C++
    • C++ Multiset
    • C++ Lambda Expressions
    • Stack in C++
    • C++ Static
    • C++ static_cast
    • Deque in C++
    • C++ Vector Functions
    • C++ 2D Vector
    • C++ List
    • C++ Mutable
    • Enum in C++
    • Abstraction in C++
    • Signal in C++
    • C++ Queue
    • Priority Queue in C++
    • Regular Expressions in C++
    • C++ Hash Table
    • File Handling in C++
    • C++ Stream
    • ifstream in C++
    • C++ ofstream
    • C++ fstream
    • C++ Read File
    • C++ iomanip
    • Macros in C++
    • Templates in C++
    • C++ setprecision
    • C++ Int to String
    • C++ thread( )
    • C++ Thread Pool
    • C++ thread_local
  • Programs
    • Patterns in C++
    • Star Patterns In c++
    • Swapping in C++
    • Reverse Number in C++
    • Palindrome Program in C++
    • Palindrome in C++
    • Factorial Program in C++
    • Fibonacci Series in C++
    • Square Root in C++
    • Random Number Generator in C++
    • Prime Number in C++
    • Leap Year Program in C++
    • Anagram in C++
    • Armstrong Number in C++
    • Reverse String in C++
    • Socket Programming in C++
    • Matrix Multiplication in C++
    • C++ using vs typedef
    • C++ vector vs list
    • C++ vector vs array
  • Interview question
    • C++ Interview Questions
    • Multithreading Interview Questions C++

Related Courses

C++ Training Course

Java Training Course

C Programming Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C++ Training Course Learn More