C for Java Programmers

Table of Contents

1. Introduction
2. Goals
3. Roadmap
4. C and its time
5. The power of C
6. The weaknesses of C
7. How C is different from Java
8. Differences between C and Java
9. Example Program in C
10. Compiling a C program
11. Keywords of the C-language
12. Types
13. C Language Types
14. Size of C types
15. C and Java types
16. Unsigned types
17. Integer used as boolean
18. Boolean Operators with Integer types
19. Creating an alias for a C-type
20. Using own types for portability
21. Using own types for program evolution
22. Pointer types
23. How pointers work
24. Why pointers?
25. Variables in C
26. Visibility
27. Lifetime
28. Global and Local Variables
29. Global Variables
30. Examples with global variables
31. Local Variables
32. Volatile Keyword
33. Examples with local variables
34. Arrays and Strings
35. Java Arrays
36. C Arrays
37. Array Examples
38. Array Lifetimes in Java
39. Array Lifetimes in C
40. Strings in Java
41. Strings in C
42. String manipulation functions in C
43. String examples
44. Complex objects: Enumerations, Structures and Unions
45. Enumerations
46. A small note on software changes and types
47. C Structures
48. The same assignments using pointers
49. From struct to class: structures with functions
50. C Unions
51. Making unions safe
52. C Functions
53. Function Declarations
54. Where do funtions live?
55. Funcion Prototypes
56. The main function
57. Why is parameter handling easier in Java?
58. Example of command line parameters
59. The printf family of functions
60. Printf Format String
61. Printf Examples
62. How to learn about functions
63. Resources
64. Open Source Information on C programming
65. Books