Variables: variables names are the placeholders for representing the data. 

Data Type:

  • A data type in a programming language is a set of data with the values having predefined characteristics like int, float, String and double. 
  • System / compiler defined data type are called primitive data type ( which can be manipulated easily).
  • Structure in c/c++ and classes in c++ / Java are the medium to create our own data type know as User-defined data type.
Data Structure: It is a particular way of storing and organizing of data in a computer, so that it can be used efficiently. 

Classification of data structure: 
  1. First, linear data structure like linkedlist, stack and queue. 
  2. Second, non linear data structure like tree and graph. 
Abstract data type: 
  1. All primitive data types supports basic operations like addition, subtraction etc. 
  2. The system is providing the implementation for the primitive data types. 
  3. For, non primitive data types we also need to do define operations.
  4. Combination of data structure and their  operations are known as Abstract Data Type
  5. So, data structure is all about creating abstract data type. 
  6. Any piece of information can be handled by defining appropriate data type and set of possible operations.