This isn't exactly starting material and maybe a bit outdated (created before Win2K). But overall covers most of the questions a newbie, who is new to programming in C and is fedup with creating Hello World console applications, may ask.
Based on the request by Mr. Jamshid i thought why not just start the useful links and tutorials for novice C programmers so they dont have to do a lot of GOOGLE like the one present in Python Forums.
If the moderators like the concept here they can sticky this or delete this post if they dont like it.
If this thread manages to stay, anyone intrested can post any important links or resources they know of and can start a new thread if they have any doubts.
Waiting for the feedback of all the members and would be really happy if you would carry on adding more links to this thread so that a newbie would not have to search a lot on the net regarding how to start on C.
Regards
~s.o.s~
hey ~s.o.s.~
just want to add this to your list of "Free" C IDE and compilers List:
Can you please remove the HowStuffWorks link from the original post or better yet point out that it's horrible. It is full of information that ranges from misleading to outright incorrect, which could be harmful to someone learning C. An except from the section on Using Pointers with Arrays for example:
Arrays in C are unusual in that variables a and b are not, technically, arrays themselves. Instead they are permanent pointers to arrays. a and b permanently point to the first elements of their respective arrays -- they hold the addresses of a[0] and b[0] respectively. Since they are permanent pointers you cannot change their addresses. The statement a=b; therefore does not work.
This of course is blatantly incorrect. The author of the article seems to be confused by the fact that a and b are converted to a pointer to their first elements when applied to an operator other than sizeof and unary &. This does not make them pointers or "permanent pointers" (ref. ISO/IEC 9899:1999 6.3.2.1#3)
There are many other examples, including but not limited to:
An int is a 4-byte integer value. A float is a 4-byte floating point value. A char is a 1-byte single character (like "a" or "3"). A string is declared as an array of characters.
There are a number of derivative types:
double (8-byte floating point value)
short (2-byte integer)
unsigned short or unsigned int (positive integers, no sign bit)
Here, the author apparently thinks C is defined in terms of the sizes of types that happen to be on his implementation. To say "a string is declared as an array of characters" is to imply that any array of characters is a string, and of course the criteria for a string includes being null terminated. There are numerous other occurrences throughout the article of the author assuming certain implementation defined values and asserting they are always those values.
Mostly main will be correctly defined to return int, but sometimes the good old horrible "void main" pops up.
Uses gets() without explaining that it's harmful, let alone why. Uses fgets() later, but doesn't mention using it instead of gets().
If I'm accused of nitpicking, I certainly didn't have much trouble finding errors. Every page I looked at seems to have something dubious on it. You might also argue that the above issues are technicalities and beyond the scope of a beginner's C tutorial. This well may be the case, but then perhaps there should be some footnotes explaining this. It doesn't excuse it, and I'm sure I could produce another 10-20 examples if I had the time.
No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
This thread is currently closed and is not accepting any new replies.