C is a general-purpose programming language, which is widely used to design any type of desktop-based applications. It was developed by Dennis Ritchie as a system programming language to develop the operating system. The main features of C language include low-level access to memory, a simple set of keywords, and clean style, these features make C language suitable for system programmings like OS or compiler development. In nature it uses a native platform development scheme, ie the development of the application by it is platform-dependent and can only be used on a single platform.
Embedded C is an extension of C language and it is used to develop micro-controller based applications. The extensions in the Embedded C language from normal C Programming Language is the I/O Hardware Addressing, fixed-point arithmetic operations, accessing address spaces, etc. Embedded C Program has five layers of Basic Structures. They are:
- Comment: These are simple readable text, written in code to make it more understandable to the user. Usually comments are written in // or /* */.
- Pre-processor directives: The Pre-Processor directives tell the compiler which files to look in to find the symbols that are not present in the program.
- Global Declaration: The part of the code where global variables are defined.
- Local Declaration: The part of the code where local variables are defined.
- Main function: Every C program has a main function which drives the whole code. It basically has two parts the declaration part and the execution part. Where, the declaration part is where all the variables are declared, and the execution part defines the whole structure of execution in the program.
In nature it uses a cross-platform development scheme, i.e., the development of the application by it is platform-independent and can be used on multiple platforms.
Differences between C and Embedded C:
|USABILITY AND APPLICATION||
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Difference between Software Testing and Embedded Testing
- Difference between Computer and Embedded System
- What are the differences between bitwise and logical AND operators in C/C++?
- Similarities and Differences between Ruby and C language
- Similarities and Differences between Ruby and C++
- Differences between Virtual Circuits and Datagram Networks
- Differences between TreeMap, HashMap and LinkedHashMap in Java
- Differences between JDK, JRE and JVM
- Differences between Flatten() and Ravel() | Numpy
- Differences between number of increasing subarrays and decreasing subarrays in k sized windows
- Differences between 8086 and 8088 microprocessors
- Software Engineering | Differences between Sanity Testing and Smoke Testing
- Differences between TCP and UDP
- Software Engineering | Differences between Coupling and Cohesion
- Differences between Computer Architecture and Computer Organization
- What are the differences between HTTP, FTP, and SMTP?
- Differences between IPv4 and IPv6
- Differences between wait() and join() methods in Java
- Differences between Bootstrap and JQuery UI
- Software Engineering | Differences between Manual and Automation Testing
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.