Previously, I've only used Object Oriented Programming languages (C++, Ruby, Python, PHP), and am now learning C. I'm finding it difficult to figure out the proper way to do things in a language with no concept of an 'Object'. I realize that it's possible to use OOP paradigms in C, but I'd like to learn the C-idiomatic way.When solving a programming problem, the first thing I do is to imagine an object that will solve the problem. What steps do I replace this with, when using a non-OOP Imperative Programming paradigm?
How to think as a C programmer after biased with OOP language?
object oriented;c
A C program is a collection of functions.A function is a collection of statements.You can encapsulate data with a struct.That's it. How did you write a class?  That's pretty much how you write a .C file.  Granted, you don't get things like method polymorphism and inheritance, but you can simulate those with different function names and composition anyway.To pave the way, study Functional Programming.  It's really quite amazing what you can do without classes, and some things actually work better without the overhead of classes.Further ReadingObject-Orientation in ANSI C