I have heard that there will be a lot of changes done in C++ because of the new standard (C++0x). My question is: What are the major changes, and will C++0x be compatible with C++ 98 and C ?
C++0x now is named C++11.
Since C++ never was compatible with C, i doubt that C++11 will be.
As for compatibility with C++ 98, have a look at the ISO standard for C++11.
Neither C++ (98) nor the new standard are fully compatible with C. Annex C of the C++ standard identifies areas in which C++ is incompatible with C. The annex is 14 pages long in both the old (98) and new (0x) versions of the standard.
One of the areas of work in C++0x is to improve the compatibility with C99. C++98 referenced C89. So, arguably C++0x will restore the compatibility that existed in 1998-1999, the last time current C++ was based on current C.