Adding to what other have posted, here are some examples of hardwired code: void main(void) { double cylinder_volume=5.5*3.1415*3.1415*7.9; printf("The total cylinder area is %.15g\n", cylinder_volume*4.0); long total_people_to_invite=10.0; printf("The total invitations is %d\n", total_people_to_invite); } This code is hardwired to the extreme. Compare to the next code example: #define PI 3.1415912 void main(void) { double cylinder_radius=5.5; double cylinder_height=7.9; double cylinder_top_area=cylinder_radius*PI*PI; double cylinder_volume=cylinder_top_area*cylinder_height; double total_cylinders=4.0; printf("The total cylinder area is %.15g\n", cylinder_volume*total_cylinders); long singers=1; long bartenders=3; long dancers=5; long cooks=1; long total_people_to_invite=singers+bartenders+dancers+cooks; printf("The total invitations is %d\n", total_people_to_invite); } This code is not as hardwired. Still, it could be coded to be even more flexible and reusable. For example, the area computation of a circle (used for the cylinder_top_area) could be implemented as a function which takes the radius. In general, the sense of "hardwired" code is related simultaneously to how clear it is to read it, understand it, change it, and re-use it. The easier it is to acomplish those things *SIMULSTANEOUSLY* the less hardwired the code is. In the above example all the predefined quantities could even come from some external configuration file, making changes easy even without recompilation. For the above example, this could be too much. So "hardwired" is not a clearly defined concept, but you see that if for such a simple example as the cylinder volume and invitation count external files had to be opened to read configuration parameters then, clearly, reading and understanding would be harder. I hope this helps, Rilhas