C Programming Crash Course all-in-one Tutorial (3 HOURS!)
Вставка
- Опубліковано 16 чер 2019
- Start your software dev career - calcur.tech/dev-fundamentals 💯 FREE Courses (100+ hours) - calcur.tech/all-in-ones
🐍 Python Course - calcur.tech/python-courses
✅ Data Structures & Algorithms - calcur.tech/dsa-youtube
~~~~~~~~~~~~~~~ CONNECT ~~~~~~~~~~~~~~~
✉️ Newsletter - calcur.tech/newsletter
📸 Instagram - / calebcurry
🐦 Twitter - / calebcurry
🔗 LinkedIn - / calebcurry
▶️ Subscribe - calcur.tech/subscribe
👨🏻🎓 Courses - www.codebreakthrough.com
~~~~~~~~~~~~~~ SUPPORT ME ~~~~~~~~~~~~~~
↪ My Amazon Store - www.amazon.com/shop/calebcurry
🅿 Patreon - calcur.tech/patreon-calebcurry
🅖 GitHub Sponsors - github.com/sponsors/CalebCurry
Ⓟ Paypal - paypal.me/calcur
🅑 Bitcoin - 3HnF1SWTzo1dCU7RwFLhgk7SYiVfV37Pbq
🅔 Eth - 0x350139af84b60d075a3a0379716040b63f6D3853
📈 Buy Bitcoin - calcur.tech/crypto
Reserve the Ruby Steel crypto rewards card and get a $25 bonus (use affiliate code "Caleb") - calcur.tech/crypto - Наука та технологія
notes - calcur.tech/notes-c-programming
C Programming Crash Course - www.learn.calebcurry.com/p/c-programming-crash-course
Timestamps:
1:13 - Intro
7:15 - Linux
17:20 - Basics - Input and Output
33:09 - Variables and Data Types
49:32 - Operators
1:03:13 - Logic (If, Switch, Ternary)
1:19:35 - Loops (for, While, Do While)
1:31:50 - Arrays
1:41:44 - Strings
1:50:00 - Functions
2:07:58 - Creating a Function Library
2:15:55 - Intro to Pointers
2:25:17 - Intro to Structs
2:34:07 - Intro to Memory Management
2:51:16 - Conclusion
Pretty goood 😄😊course to regain confidence in C Programming and getting started for more, thank you for such a Humanly beautiful and humorous C course and do create and 'intermediate C crash course' so that after learning from this we could go there and learn more👍😁. This helped me revise so much, Thank you 😄🎇❣
Thankyou dude I really appreciate it, I already subbed to you and gonna check out your other videos. o7
You know, if you attach the timestamps to the description of the video, then UA-cam would show different chapters at the side in a panel and also show the current playing chapter beside the volume bar in the video. Just my suggestion.
i guess it's kinda off topic but does anyone know a good place to watch new series online?
WE LOVEEEEEEEEEEEEEEEEEEEE you soooooooooooo much sir, you're the best teacher in the world and the most professional one😂
Honestly this is the most human and fun programming tutorial I've seen in my LIFE.
I'd love to see more tutorials from you!
Má 10hodinovú verziu 😂😂👌
Please do the intermediate C course! You are a great teacher, congrats!
I hadn't programmed in C in quite some time and was looking for a quick refresher course. This was PERFECT! Thank you Caleb!
Thank you for this, Caleb. Cheers!
Thank-you for this crash course, Caleb!!
02:08:53 Please do create an intermediate C series! Awesome work, keep it up 👍
did he ?
@@fahemzoldyck1729 he created an advanced 10-hour C course video
@@hectorcanizales5900 where I can find it?
Thank you call for code, awesome, had no idea, thank you Caleb
This is an awesome tutorial! Thank you Caleb. If there is something about file operation and installing more libraries, it will be even greater.
Thank you, Caleb! Awesome and fun
You're great at conveying this information in an approachable way. I'd love to watch a more advanced course from you.
Finally i got this from caleb cury ! : )
Small, simple and sweet tutorial, loved it
i looove your videos, they're so helpful. I a little bit past halfway on this one, doing a little bit at a time. and it makes me excited to practice what i learn. so as a result I've learned and retained more in from like half of this 3 hour video than from my c class so far hahah thank you caleb! you are a really good teacher :)
Thanks for giving me 3 hours of your life! In exchange, you can have the source code: www.calebcurry.com/c-programming-crash-course-3-hours/
Get this in a course format: calcur.tech/c-crash-course
omg this video is so underrated thank you caleb!
thank you so much! I just finished the video and followed along in code the whole time. And don't worry this was the most human and least boring programming video i've seen in a while
Hi Caleb, before binging these lectures I'd evaded any association with the C-language family, as I'd held the heuristic it was beyond my conceptual realms (not coming from a core CS background). I really enjoyed your style of delivery!! Keep on throwing carrots out about extended concepts & then coming back to the reference later on...It kept my eyes on the horizon & searching for more...
Keen to check out all your other work from hereon!!
Cheers mate
You're a gifted teacher, Caleb. Thank you so much!
This C programming crash course is awesome. It is very easy to understand and to follow. Thank you for creating it ! I am also interested in advanced C programming, like network sockets programming. Thanks mate ;-)
Thank you so much for this guide! I need to learn c quickly for a project, and this has given me all the basics I need, it's been really helpful. Will deffo be checking out any other guides you have :)
Caleb, please do an intermediate course! You are a great teacher!
Wow, this is the most in depth break down of C coding video, I've seen.
Would have been a lot of help in my C programming class, lucky some non-computer science majors were also taking the course,
helps with the scale. LMAO
You remind me of the new Boston by the way you teach code. Gj and thanks for the upload! I learned a lot.
Great course, thank you CC!
Congrats man, this was really helpfull for me. Never programed in C and still could follow your course and learn a lot
One nit at 58:18 - b gets the current value of a _and_ a is incremented, but there's no fixed order for those operations - b does not have to be assigned before a is incremented. Similarly for b = ++a, b gets the current value of a + 1 _and_ a is incremented, but there's no fixed order for those operations - a does not have to be incremented before the result is assigned to b. Depending on the architecture, those operations may even happen simultaneously.
Sorry, it's just that this is something that consistently gets mis-taught - it's always assumed that the increment and assignment happen in a certain sequence, but they don't _have_ to. The operations are _unsequenced_ with respect to each other.
Consequently, expressions like a[i] = i++ and a++ * a++ can give different results on different platforms. The language definition specifies that any expression that attempts to update an object more than once through the evaluation of an expression (a++ * a++), or tries to both update an object and use its value in a computation (a[i] = i++), result in _undefined behavior_ , meaning that the compiler and runtime environment are not required to handle the situation in any particular way.
This is great! I am watching this to refresh my memory of taking first level C programing. Before I start the second level. Thanks so much:)
Thank you so much!!! So grateful for you kindness 🙏
Awesome! Thanks Caleb
Thanks a lot Caleb! Please do an intermediate series
i second this
An amazing course Caleb. I am confident that I can now code in C too other than Python and C++ in which I could code earlier already. Looking forward to the 10 Hour course as well. Keep doing the amazing work mate.
I haven't used C in a long time. This is, perhaps, the best C primer I have ever seen. Thank you.
Great resource anyone taking a C programming course should definitely reference this.
Bought the BorderLand C/ C++ compiler at a computer show, in Morristown. Been using DJGCC and MS prior.
Have to say, at the time Border Land compiled really quick and they had a Help telephone number you could call.
Very nice.
thanks, man. finally i understand C's weird pointer syntax. as for suggestions: function pointers, some best practices, and some memory management tricks would be nice if you decided to make an intermediate crash course.
More please, intermediate C course would be awesome.
Thank you Caleb!
Your videos are so good thank you so much for putting them on youtube
please I would love to see your new video, especially intermediate c course. Thank you!
nice one caleb
Oh hell yeah in vscode. Thank you
Note on windows you can just enable subsystem for Linux to get Ubuntu and then use bash to do things in your windows file system through the mnt path.
Or just download Ubuntu on virtual machine. I don’t like the subsystem too much.
Hey Caleb, i'm a complete noob to programming and just finished watching your course. Enjoyed watching and learning from you!
The only improvement I could think of as a beginner would be writing out the definitions of the different syntaxes and spending a little more time explaining. I had/have a difficult time understanding what each new one means and I mean what it is at it's core. This could just be me wanting to understand something quickly that otherwise takes times and experience coding (in c). In any case a job well done and look forward to seeing new videos!
As with any language, use it! Write your own little programs. As you learned your native language, nobody said you its rules. Nobody wanted to hide the rules, but you couldn't understand it.
Wow, thanks for what you do sharing knowledge to people for free. again thanks bud
You’re welcome. That’ll be $100.
@@codebreakthrough Sure you deserve it not even kidding who shall I make my I owe you out to? hehe
Thanks. Your tutorial is top-notch to me.
I have an exam in a class about C programming in about half an hour, thank you for the video
did u pass I have a C final in 30 min. ggs
@@erikmartinez3859 did you go good man?
@@erikmartinez3859 how did you do?
28:30 i challenged myself to do this all in gnu nano and so far its going well, hopfully it keeps on going like this 🙂
Your laugh is amazing . Love it
Hi! Thank you for your videos! I have an exam in an hour and I can't find a good explanation for fread and fwrite, do you have one?
Thanks so much Caleb. Can you please resume your C# tutorial series?
Coming soon to a UA-cam near you!
Thanks Caleb. Appreciate it. 😊
Would love a similar video on Javascript if you could.
Having a tough time with it from the sources I've used so far.
I’ll keep this in mind! Anything specific you are challenged by?
Caleb Curry Variables & objects in general. Just having a hard time learning the beginner concepts so I can build upon them you know.
~Thank you.
I was watching this on your website but I came here to comment because every time you laugh under your breath while explaining things it inexplicably cracks me up so much hahahaha. Keep this up you are great!
Honestly im currently just learning rust, and absolutely loving it, and im only watching this for fun to compare
Thank you
YES!
you the man DAWG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Kool course, where is the intermediate course you promised?
thanks man
Late to the party, but thank you for the videos!
I like this crash course so much. Caleb, could you please do a Java programming crash course video?
Do you have a link to that syntax guide you reference throughout the video?
good tuitorial
Caleb you are the fucking man
CHECKPOINT: 33:09 - Variables and Data Types
Great....
I want to ask you for video about makefiles
Caleb Curry, you are a man among men. The gods are smiling down upon their beautiful creation. Thank you, and be well, my king :)
does anyone gets error for 2d array? 1:41:51 I actually had to use #define instead of adding const . adding const did not solve the issues for me. any suggestions or feedback please? im new to C thank you
is there a msdn page that shows all the formats like %d %lf etc?
You not boring. Am learning
Can you make a more advanced one?
at 1:40:02 i can not for the life of me understand what "error: variable-sized object may not be initialized except with an empty initializer" wants from me. I initialized the multi-dimensional array properly just like how it was done in the video and made the column a const variable. I tried to declare the matrix in one line of code and initialize it in another yet it didn't work, so i am pretty much stuck here (i tried to google it but it was to no avail). If anyone could offer help it will be much appreciated!
*SOLVED*
_Instead of typing "int const column = 4".. type "enum{ column = 4 }"._
didn't take long to get into food related stuff ....now I no caleb is back!
expected ';' after top level declarator
int function lilTabs(int lenght)
^
;
1 error generated.
Caleb, whatever happens, do not stop programming, please
++
CALEB WHAT COMPILER PROGRAM DO YOU USE!!!
Hey Caleb,
Can you do a crash course on JavaScript
7:23 why?
Question I can start a course in C# or python. I've low basic expirience in C. And not sure which language to choose!
please advise me!!
Im a noobie as well and really loving C, but I reacon Python is easier as it is user-friendly-er, I suppose.
is there a second part to this?
Took a 2 credit C course, thinking it would be a easy grade because I thought I knew C.
The Fordham professor had pointers to structures to pointers, dereference arrays to pointers, etc on the exam. Never really showed up until midterm after the exam. Made sure to attend every class.
Ended up with a B or a B+ 😒
36:03 The sizeof operator returns a size_t, not an unsigned long. Before C99, the standard way of printing a size_t would be type-casting it to an unsigned long then using the %lu specifier. Starting C99, you just pass a size_t and the correct format specifier would be %zu.
I cannot compile the code at 1:39:40.
here is what I get:
arrays.c: In function ‘main’:
arrays.c:8:5: error: variable-sized object may not be initialized
8 | int studentGrades[][columns] = {
| ^~~
arrays.c:9:38: warning: excess elements in array initializer
9 | {1, 3, 4, 6},
| ^
arrays.c:9:38: note: (near initialization for ‘studentGrades[0]’)
arrays.c:9:41: warning: excess elements in array initializer
9 | {1, 3, 4, 6},
| ^
arrays.c:9:41: note: (near initialization for ‘studentGrades[0]’)
arrays.c:9:44: warning: excess elements in array initializer
9 | {1, 3, 4, 6},
| ^
arrays.c:9:44: note: (near initialization for ‘studentGrades[0]’)
arrays.c:9:47: warning: excess elements in array initializer
9 | {1, 3, 4, 6},
| ^
arrays.c:9:47: note: (near initialization for ‘studentGrades[0]’)
arrays.c:10:38: warning: excess elements in array initializer
10 | {3, 2, 4, 5},
| ^
arrays.c:10:38: note: (near initialization for ‘studentGrades[1]’)
arrays.c:10:41: warning: excess elements in array initializer
10 | {3, 2, 4, 5},
| ^
arrays.c:10:41: note: (near initialization for ‘studentGrades[1]’)
arrays.c:10:44: warning: excess elements in array initializer
10 | {3, 2, 4, 5},
| ^
arrays.c:10:44: note: (near initialization for ‘studentGrades[1]’)
arrays.c:10:47: warning: excess elements in array initializer
10 | {3, 2, 4, 5},
| ^
arrays.c:10:47: note: (near initialization for ‘studentGrades[1]’)
arrays.c:11:38: warning: excess elements in array initializer
11 | {32, 2, 4, 9}
| ^~
arrays.c:11:38: note: (near initialization for ‘studentGrades[2]’)
arrays.c:11:42: warning: excess elements in array initializer
11 | {32, 2, 4, 9}
| ^
arrays.c:11:42: note: (near initialization for ‘studentGrades[2]’)
arrays.c:11:45: warning: excess elements in array initializer
11 | {32, 2, 4, 9}
| ^
arrays.c:11:45: note: (near initialization for ‘studentGrades[2]’)
arrays.c:11:48: warning: excess elements in array initializer
11 | {32, 2, 4, 9}
| ^
arrays.c:11:48: note: (near initialization for ‘studentGrades[2]’)
arrays.c:8:9: error: array size missing in ‘studentGrades’
8 | int studentGrades[][columns] = {
| ^~~~~~~~~~~~~
Please help!
Me neither, have you found a solution already?
as a plus you may if u click on the #define you should find some videos talking about the how to use it in C
2:45:00 😂😂😂😂😂 laugh die
Are this for absolute beginner s
Checkpoint: 19:53
sorry but is this only for Linux and Mac? If so, why dont u say it in the title, if not, where can i start watching?
can somebody help me with any nice code editor for c-program
I got a segmentation fault error seconds after you mentioned it
Good tutorial. And the "hehe"s are all over the place.
okay I feel you didn't give enough details about strings like you didn't talk strset, strstr, strcmp and the rest
1:39:50
2:42:00
Is it possible to do void main(){} instead of int main(){}?
I think so. Try
@@codebreakthrough Alright thanks
TL/DR version - don't use void main().
Michener version - Unless your compiler documentation _explicitly_ lists void main() as a valid signature, the behavior will be _undefined_ . It may work. It may not. On most common server and desktop implementations it won't blow up, but you should (hopefully) get a diagnostic while compiling the code. I know of a couple of older, oddball systems that aren't used anymore where programs using void main() would either crash on exit or fail to load at all. Unfortunately, a lot of references (including K&R) use void main(), but strictly speaking it isn't correct and shouldn't be used.
For a hosted implementation (basically, anything with an operating system), the standard signatures for main are int main( void ) and int main( int, char **). Use the first form when your program doesn't take any command line arguments, use the second form when it does.
42:45
Is this tutorial enough to understand entire c and how it works
Arjun Varma yes. Use this video to start off. Then read a book about advanced data structures and algorithms and try to implement them yourself like bubble sort, heaps, linked lists, Boolean logic, recursion etc
I have a mac and I am unable to get past 19:07
#include
int main ()
{
return 0;
}
When i try and compile I get an error Undefined symbols for architecture x86_64:
"_main", referenced from: implicit entry/start for main executable
ld: symbol(s) not found for architectrue x86_84
using the same platform as you. all the colors are the same except for "int" its purple.
help me please ?
Hmmm. Not sure. Try void main and don’t return 0? Let us know what the fix is once you get it. Also obviously but make sure you are compiling the correct file. We’ve all been there 😉
Did you install the C/C++ extension (ms-vscode.cpptools)?
Four years late to this, but if anyone else is running into this issue, it's most likely because you have not saved the file prior to running the gcc filename.c command
28:07
NOICE PLS MAKE A DEEP IN TO C COURSE MY MAN