How to learn more in C programming

Vj18
9 years ago | edited 9 years ago

0

Hi all,
I know basic C programming and want to learn more about C. Are there any Ebooks or tutorials to learn how C interacts with hardware? Or perhaps something that connect C and the OSI model. I searched on torrent sites but could not find any books for my interest, so please help me out and suggest any books or video tutorials that you found helpful.

32replies
16voices
352views
Ajay [thava08]
9 years ago

0

OK let me know when you had it.

Matt [Matt6634]
9 years ago
Ajay [thava08]
9 years ago

0

thanks budy

Vj18
9 years ago

0

Thanks matt6634

Mr. Cyph3r [MrCyph3r]
9 years ago

0

Well, I built the basics at school but to be honest the bulk of my C knowledge comes from the huge amount of time I spent browsing and reading the man pages.

Vj18
9 years ago

0

Well, what sort of manual pages? Can you give an example or a starting point?

Mr. Cyph3r [MrCyph3r]
9 years ago

0

Oh yeah, you are right, I posted in an hurry and didn’t realized that man pages are a too generic concept…

Anyway I was referring to the man pages you find on any linux distro.
Since my main operating system is linux and I mostly code under linux platforms I generally make use of the above mentioned man pages.

For example, you can access the man page of a function like so:

man malloc  

NAME  
       malloc, free, calloc, realloc - allocate and free dynamic memory  

SYNOPSIS  
       #include <stdlib.h>  

       void *malloc(size_t size);  
       void free(void *ptr);  
       void *calloc(size_t nmemb, size_t size);  
       void *realloc(void *ptr, size_t size);  

DESCRIPTION  
       The  malloc()  function  allocates  size  bytes  and  returns a pointer to the allocated memory.  The memory is not initialized.  If size is 0, then malloc() returns either NULL, or a unique  
       pointer value that can later be successfully passed to free().  
       [truncated]  

Another important reference is the C99 ANSI standard (ISO/IEC 9899:1999 standard) which includes several additions to the previous C95.
You have two options here, one is an official copy (PDF version) available for purchase from ANSI.
The other option is the draft available for free which includes corrections and amendments. You can find it on Open Standards Organization’s website here.
Without any doubt this is the preferred way to go, it is still an official doc and someone even claims it’s better than the official one.

Reply has been removed
Vj18
9 years ago

0

MrCyph3r - Wow, I didn’t knew I could access man pages for C functions from the terminal and thank you for the link. I looked around a little more and found this manual http://techpubs.sgi.com/library/manuals/0000/007-0701-150/pdf/007-0701-150.pdf.
By the way, would you recommend joining a project on source forge or git hub. If I join one of the projects, will the people currently working on the project help me out or will they assume that I know stuff and will expect me to start contributing?

btw, how to use the url tag in these forums?

Landryh - I learned cmd at school and don’t know about any good online sources but if you are a beginner then there is a abundance of beginner guides out there to get you started. cmd also has a built in help command to learn more. Just type help for list of all available commands and help for manual of that command.

Mugi [Mugiwara27]
9 years ago

1

[ url=http://google.fr ] Text [ /url ]
–>
Text

Vj18
9 years ago

0

Thank You Mugiwara27.
What are your thoughts on the topic? Do you think joining a project will actually help?

Mugi [Mugiwara27]
9 years ago

0

Of course I think it will help you learning C.
Just learn the basics of this language then practice ; you’ll discover new things everyday and you’ll learn those new things.
But it will take the time needed :p
This is much like I’ve learned Javascript and C++

Mr. Cyph3r [MrCyph3r]
9 years ago

0

@Vj18 it took me some time to reply to this thread… lol too many projects on the line I guess :p

Anyway, I’m not able to access the pdf you linked so I don’t have any idea about it.

As I said man pages helps a lot, but, if you want to contribute to a project on github well, you will probably be welcome if you develop something useful.
However, if you are still learning I don’t think github will help you a lot (at least not in the way you think), I mean, yes you can contribute by forking a repo and then proposing new features, changes and improvements to a project by pull requests. However, unless you are directly involved into a project you will not likely get a lot of help, because most of the times developers are busy as hell at coding and solving bugs, issues, adding stuff and they just don’t have the time to mentor someone.

On the other end though, forking a project and working on it can help YOU a lot understanding coding styles, best practices, common methods of doing things… not to mention that you can also see different methods of implementing features depending on the skill level of involved developers.

There are different types of contributions on github, but usually you cannot simply join a project and expect to know the other members of the team just by clicking a button. Most of the times you just propose stuff and if you do great things you will probably get invited by someone to contribute.

In conclusion, yes, forking a project or just browsing github projects can definitely help you improve your knowledge, however if you are doing this for the sole purpose of finding a mentor unfortunately there are little chances to obtain this, at least on the biggest and most interesting projects.

Note, this doesn’t absolutely mean that github isn’t a great platform, indeed it is.. I use it a lot and I find it almost a primary resource.


@Landryh I’m sorry but as I said to other people by pm, I’m just too busy to mentor someone… can’t be of help unfortunately.

tehron
9 years ago

1

If you want to train your skills on a project and do something useful, you could do me a favor and port the Python tools from HPLIP (http://hplipopensource.com/hplip-web/index.html) to C.

daarthyvader
9 years ago

0

hi i wont to learn prgraming but need frensh support

Landryh
9 years ago

0

Ok good but you can go on youtube and ask your request…..

dricko
9 years ago

0

hello the guy I want to know how THIS HACK for I would be one of yours and I already have some computer knowledge

jayssj11
9 years ago
dricko
9 years ago

0

but why you say this friend

dricko
9 years ago

0

thank you for your help, but then I ask you one thing jayssj11

jayssj11
9 years ago

0

What do you want to ask @dricko ?

dricko
9 years ago

0

let me know how you protect your IP address

Mugi [Mugiwara27]
9 years ago

0

@dricko you better create a new thread asking it because that’s not the topic of this thread ;)

dricko
9 years ago

0

excuse me I was deceived me

dricko
9 years ago

0

but what is the topic of this forum

Mugi [Mugiwara27]
9 years ago

0

How to learn more in C programming

dricko
9 years ago

0

ok ok in this case the forum will help me a lot because I’m struggling to understand programming in C

harrised28
8 years ago

0

In order to learn programming languages, get engaged with the programming projects providing online learning coaching.

f0rk [HackingGuy]
8 years ago

0

Just type this into your browser. “https://duckduckgo.com/?q=c+programming+tutorial&t=osx

f0rk [HackingGuy]
8 years ago

0

Or this. “http://www.learn-c.org

sara83
8 years ago

0

this tutorial helped me very much
&list=PL6gx4Cwl9DGAKIXv8Yr6nhGJ9Vlcjyymq

steaven_
8 years ago

0

Google “Learn C the Hard Way”

DOSmaster
8 years ago

0

Read the Linux kernel source and check out the IP utils and network drivers…
*Sigh
https://github.com/torvalds/linux

Reply has been removed
You must be logged in to reply to this discussion. Login
1 of 33

This site only uses cookies that are essential for the functionality of this website. Cookies are not used for tracking or marketing purposes.

By using our site, you acknowledge that you have read and understand our Privacy Policy, and Terms of Service.

Dismiss