I wouls like to know the difference between Embedded C & conventional C languages.
A normal PC may often be rebooted every day, or maybe every week.
An embedded system may be rebooted once/power failure if mains-driven. or once/battery replacement (wrist watch). This means that embedded software (and hardware) must be very much more robust than "normal" software/hardware. You nurmally make use of hardware and software watchdog features to constantly monitor the operation.
You have brownout detectors in the hardware (externally or built into the processor) to stop the processor if the voltage drops below a safe level.
You normally try to preallocate memory on program startup, to avoid problems with memory leaks or memory fragmentation.
More time is spent on automatic regression testing or automatic test tools that analyzes the program flow sequences.
You might decide to limit the software constructs allowed in the software - i.e. decide that all code should be MISRA-compliant - since an uncaught bug can cost significantly more to correct than just uploading a new version to a web page and let people download it.