C Programming Crash Course all-in-one Tutorial (3 HOURS!)

Поделиться
HTML-код
  • Опубликовано: 26 авг 2024
  • Start your software dev career - calcur.tech/de... 💯 FREE Courses (100+ hours) - calcur.tech/al...
    🐍 Python Course - calcur.tech/py...
    ✅ Data Structures & Algorithms - calcur.tech/ds...
    ~~~~~~~~~~~~~~~ CONNECT ~~~~~~~~~~~~~~~
    ✉️ Newsletter - calcur.tech/ne...
    📸 Instagram - / calebcurry
    🐦 Twitter - / calebcurry
    🔗 LinkedIn - / calebcurry
    ▶️ Subscribe - calcur.tech/sub...
    👨🏻‍🎓 Courses - www.codebreakt...
    ~~~~~~~~~~~~~~ SUPPORT ME ~~~~~~~~~~~~~~
    ↪ My Amazon Store - www.amazon.com...
    🅿 Patreon - calcur.tech/pat...
    🅖 GitHub Sponsors - github.com/spo...
    Ⓟ Paypal - paypal.me/calcur
    🅑 Bitcoin - 3HnF1SWTzo1dCU7RwFLhgk7SYiVfV37Pbq
    🅔 Eth - 0x350139af84b60d075a3a0379716040b63f6D3853
    📈 Buy Bitcoin - calcur.tech/cr...
    Reserve the Ruby Steel crypto rewards card and get a $25 bonus (use affiliate code "Caleb") - calcur.tech/cr...

Комментарии • 162

  • @codebreakthrough
    @codebreakthrough  3 года назад +38

    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

    • @40_sn43
      @40_sn43 3 года назад

      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 😄🎇❣

    • @PJSCode69
      @PJSCode69 3 года назад

      Thankyou dude I really appreciate it, I already subbed to you and gonna check out your other videos. o7

    • @triambakeshwar8766
      @triambakeshwar8766 3 года назад +1

      You know, if you attach the timestamps to the description of the video, then RUclips 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.

    • @kadejaxx701
      @kadejaxx701 3 года назад

      i guess it's kinda off topic but does anyone know a good place to watch new series online?

    • @ymous7051
      @ymous7051 3 года назад

      WE LOVEEEEEEEEEEEEEEEEEEEE you soooooooooooo much sir, you're the best teacher in the world and the most professional one😂

  • @michalguy
    @michalguy 3 года назад +40

    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!

    • @alesgabor7606
      @alesgabor7606 3 года назад +1

      Má 10hodinovú verziu 😂😂👌

  • @dambros
    @dambros 5 лет назад +56

    Please do the intermediate C course! You are a great teacher, congrats!

  • @SG1980s
    @SG1980s 4 года назад +11

    I hadn't programmed in C in quite some time and was looking for a quick refresher course. This was PERFECT! Thank you Caleb!

  • @alexnezhynsky9707
    @alexnezhynsky9707 5 лет назад +96

    02:08:53 Please do create an intermediate C series! Awesome work, keep it up 👍

  • @johnbode5528
    @johnbode5528 4 года назад +3

    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.

  • @DavidEvans_dle
    @DavidEvans_dle Год назад +1

    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.

  • @Tiparium_NMF
    @Tiparium_NMF Год назад +3

    You're great at conveying this information in an approachable way. I'd love to watch a more advanced course from you.

  • @DavidEvans_dle
    @DavidEvans_dle 4 года назад +4

    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

  • @molotov-zz6rm
    @molotov-zz6rm 2 года назад +1

    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

  • @BootsandUtes
    @BootsandUtes 6 месяцев назад

    I haven't used C in a long time. This is, perhaps, the best C primer I have ever seen. Thank you.

  • @bigbrothertw
    @bigbrothertw Год назад +3

    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 🙂

  • @matakemisaka5465
    @matakemisaka5465 3 года назад +3

    This is an awesome tutorial! Thank you Caleb. If there is something about file operation and installing more libraries, it will be even greater.

  • @TravisGarnett
    @TravisGarnett 5 лет назад +7

    Thank-you for this crash course, Caleb!!

  • @basedworldsk8
    @basedworldsk8 5 лет назад +8

    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.

    • @navjotsingh2251
      @navjotsingh2251 4 года назад +3

      Or just download Ubuntu on virtual machine. I don’t like the subsystem too much.

  • @A_Szoros
    @A_Szoros 3 года назад +3

    Caleb, please do an intermediate course! You are a great teacher!

  • @talldarkshark8012
    @talldarkshark8012 5 лет назад +7

    Thank you for this, Caleb. Cheers!

  • @elykeios
    @elykeios 2 года назад +1

    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 :)

  • @Shadowtheguy2000
    @Shadowtheguy2000 4 года назад +9

    I have an exam in a class about C programming in about half an hour, thank you for the video

  • @ChrisPackham1
    @ChrisPackham1 3 года назад +3

    More please, intermediate C course would be awesome.

  • @jessif.
    @jessif. 7 месяцев назад

    You're a gifted teacher, Caleb. Thank you so much!

  • @josefinamagallanes8451
    @josefinamagallanes8451 5 лет назад +4

    Thank you call for code, awesome, had no idea, thank you Caleb

  • @badwolf8112
    @badwolf8112 4 года назад +1

    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.

  • @arthurzaneti-cx2en
    @arthurzaneti-cx2en Год назад

    Congrats man, this was really helpfull for me. Never programed in C and still could follow your course and learn a lot

  • @valentijnbruggeman936
    @valentijnbruggeman936 2 года назад

    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!

    • @Hofer2304
      @Hofer2304 2 года назад +1

      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.

  • @arnasir_
    @arnasir_ Год назад

    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.

  • @xz7525
    @xz7525 4 года назад

    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

  • @DavidEvans_dle
    @DavidEvans_dle Год назад

    Great resource anyone taking a C programming course should definitely reference this.

  • @denb4386
    @denb4386 4 года назад +1

    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 ;-)

  • @shourabhthakur4021
    @shourabhthakur4021 4 года назад +2

    Small, simple and sweet tutorial, loved it

  • @thepuriguy3157
    @thepuriguy3157 4 года назад +4

    Thanks a lot Caleb! Please do an intermediate series

  • @jessicawhitney2074
    @jessicawhitney2074 Год назад

    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 :)

  • @kck9542
    @kck9542 5 лет назад +10

    Finally i got this from caleb cury ! : )

  • @robschannel1156
    @robschannel1156 Месяц назад

    the most important part of the video is 1:16:17 ... not sure why that timestamp wasn't bookmarked in the description.

  • @modelfreak125
    @modelfreak125 2 года назад

    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:)

  • @revlambino1450
    @revlambino1450 5 лет назад +4

    Wow, thanks for what you do sharing knowledge to people for free. again thanks bud

    • @codebreakthrough
      @codebreakthrough  5 лет назад +4

      You’re welcome. That’ll be $100.

    • @revlambino1450
      @revlambino1450 5 лет назад

      @@codebreakthrough Sure you deserve it not even kidding who shall I make my I owe you out to? hehe

  • @pinniporker
    @pinniporker 2 года назад

    omg this video is so underrated thank you caleb!

  • @alexandert1703
    @alexandert1703 5 лет назад +1

    Thank you, Caleb! Awesome and fun

  • @theroboman727
    @theroboman727 2 года назад

    Honestly im currently just learning rust, and absolutely loving it, and im only watching this for fun to compare

  • @suzu6165
    @suzu6165 7 месяцев назад +1

    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

  • @ambermeows150
    @ambermeows150 4 года назад

    You remind me of the new Boston by the way you teach code. Gj and thanks for the upload! I learned a lot.

  • @wastedxbusted
    @wastedxbusted Год назад +1

    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 }"._

  • @framepointer
    @framepointer 3 года назад +1

    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.

  • @rtnjo6936
    @rtnjo6936 4 года назад +2

    please I would love to see your new video, especially intermediate c course. Thank you!

  • @O1dBay
    @O1dBay 3 года назад

    CHECKPOINT: 33:09 - Variables and Data Types

  • @abdulrahmanselmi9118
    @abdulrahmanselmi9118 3 года назад +1

    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!

    • @sewerynkaminski1116
      @sewerynkaminski1116 Год назад

      Me neither, have you found a solution already?

    • @Ribena499
      @Ribena499 Год назад

      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

  • @celestialbeing4767
    @celestialbeing4767 4 года назад +2

    Oh hell yeah in vscode. Thank you

  • @theseigemeister
    @theseigemeister 5 лет назад +1

    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.

    • @codebreakthrough
      @codebreakthrough  5 лет назад +2

      I’ll keep this in mind! Anything specific you are challenged by?

    • @theseigemeister
      @theseigemeister 5 лет назад

      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.

  • @DotaCafe
    @DotaCafe 3 года назад

    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!

  • @demetra4740
    @demetra4740 4 года назад

    Thank you so much!!! So grateful for you kindness 🙏

  • @carverparkes2276
    @carverparkes2276 3 года назад

    Awesome! Thanks Caleb

  • @dipper0yawn
    @dipper0yawn 2 года назад

    Great course, thank you CC!

  • @eivan128
    @eivan128 5 лет назад +1

    nice one caleb

  • @Zobney
    @Zobney 4 года назад

    Your videos are so good thank you so much for putting them on youtube

  • @DavidEvans_dle
    @DavidEvans_dle 3 года назад

    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+ 😒

  • @sofiasbv7628
    @sofiasbv7628 4 года назад +2

    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?

  • @IguanamobisPltworzeniestron
    @IguanamobisPltworzeniestron 5 лет назад +2

    7:23 why?

  • @Abadan9999
    @Abadan9999 4 года назад

    Thank you Caleb!

  • @williamdurojaye
    @williamdurojaye 5 лет назад +1

    Thanks so much Caleb. Can you please resume your C# tutorial series?

  • @syedah6704
    @syedah6704 3 года назад

    Kool course, where is the intermediate course you promised?

  • @gazchao
    @gazchao 3 года назад

    Thanks. Your tutorial is top-notch to me.

  • @mvargasmoran
    @mvargasmoran 3 года назад

    expected ';' after top level declarator
    int function lilTabs(int lenght)
    ^
    ;
    1 error generated.

  • @kusov4748
    @kusov4748 3 года назад

    Your laugh is amazing . Love it

  • @adamcolejones
    @adamcolejones 2 года назад

    Checkpoint: 19:53

  • @givensabraham8122
    @givensabraham8122 11 месяцев назад

    You not boring. Am learning

  • @aydenzhu5938
    @aydenzhu5938 5 лет назад +1

    I like this crash course so much. Caleb, could you please do a Java programming crash course video?

  • @seifarram795
    @seifarram795 Год назад

    thanks man

  • @vincenzo3574
    @vincenzo3574 5 лет назад +1

    Can you make a more advanced one?

  • @alexandert1703
    @alexandert1703 5 лет назад +1

    I want to ask you for video about makefiles

  • @bhamuzasiphamandla5560
    @bhamuzasiphamandla5560 4 года назад

    you the man DAWG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @beetlejuicefan5966
    @beetlejuicefan5966 Год назад

    42:45

  • @westfield90
    @westfield90 5 лет назад +1

    Thank you

  • @DavidEvans_dle
    @DavidEvans_dle Год назад

    Took a 2 credit C-language course, the final exam consisted of Arrays of Pointers to Structures to deference pointers to a macro with a fstream print of what results are produce??
    LOL talk about cryptic coding... all fun for only a 1.5 hour course.

  • @sushmapuli1233
    @sushmapuli1233 4 года назад

    Hey Caleb,
    Can you do a crash course on JavaScript

  • @mikeorioles
    @mikeorioles 2 года назад

    Late to the party, but thank you for the videos!

  • @robvanembden1944
    @robvanembden1944 4 года назад +1

    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!!

    • @ksherif482
      @ksherif482 4 года назад +1

      Im a noobie as well and really loving C, but I reacon Python is easier as it is user-friendly-er, I suppose.

  • @cgilmore1995
    @cgilmore1995 2 года назад

    Do you have a link to that syntax guide you reference throughout the video?

  • @pastasawce
    @pastasawce 3 года назад

    I got a segmentation fault error seconds after you mentioned it

  • @Itech6969
    @Itech6969 3 года назад

    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?

  • @shivanshubansal1124
    @shivanshubansal1124 4 года назад

    is there a second part to this?

  • @patrisio1227
    @patrisio1227 4 года назад

    Caleb Curry, you are a man among men. The gods are smiling down upon their beautiful creation. Thank you, and be well, my king :)

  • @techmedia1360
    @techmedia1360 3 года назад

    is there a msdn page that shows all the formats like %d %lf etc?

  • @tenzinkhorlo1538
    @tenzinkhorlo1538 Год назад

    0:10:20

  • @boiplaying2647
    @boiplaying2647 5 лет назад +1

    YES!

  • @kingdavidechatah4093
    @kingdavidechatah4093 4 года назад

    okay I feel you didn't give enough details about strings like you didn't talk strset, strstr, strcmp and the rest

  • @erikmartinez3859
    @erikmartinez3859 4 года назад

    CALEB WHAT COMPILER PROGRAM DO YOU USE!!!

  • @a8552bc
    @a8552bc 3 года назад

    1:39:50

  • @Ilikeshake
    @Ilikeshake Год назад

    50:00

  • @a8552bc
    @a8552bc 3 года назад

    2:42:00

  • @thomasvickers9443
    @thomasvickers9443 3 года назад

    Caleb you are the fucking man

  • @chiranjeevi999
    @chiranjeevi999 5 лет назад

    Are this for absolute beginner s

  • @collinsopoku6254
    @collinsopoku6254 3 года назад

    can somebody help me with any nice code editor for c-program

  • @alcejaylos.4257
    @alcejaylos.4257 5 лет назад

    Caleb, whatever happens, do not stop programming, please

  • @rittenbrake1613
    @rittenbrake1613 4 года назад +7

    2:45:00 😂😂😂😂😂 laugh die

  • @LuLu-js7ku
    @LuLu-js7ku 4 года назад

    good tuitorial

  • @carlosvilla7270
    @carlosvilla7270 5 лет назад

    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 ?

    • @codebreakthrough
      @codebreakthrough  5 лет назад +1

      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 😉

    • @johnbode5528
      @johnbode5528 4 года назад

      Did you install the C/C++ extension (ms-vscode.cpptools)?

    • @johnlowell5833
      @johnlowell5833 5 месяцев назад

      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

  • @anoygolui1057
    @anoygolui1057 5 лет назад

    Great....

  • @JesusRodriguez-rb1ko
    @JesusRodriguez-rb1ko 4 года назад

    28:07

  • @arjunvarma9350
    @arjunvarma9350 5 лет назад

    Is this tutorial enough to understand entire c and how it works

    • @navjotsingh2251
      @navjotsingh2251 4 года назад +1

      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

  • @diwakar8815
    @diwakar8815 5 лет назад

    What is the ide your using…?