Pass By Reference | C Programming Tutorial

Sdílet
Vložit
  • čas přidán 23. 06. 2021
  • An overview of pass by reference in C (sometimes also called call by reference). More accurately we can call this "pass by pointer", but pass by reference is the more common terminology. Source code: github.com/portfoliocourses/c.... Check out www.portfoliocourses.com to build a portfolio that will impress employers!
  • Jak na to + styl

Komentáře • 40

  • @crklopotic
    @crklopotic Před 5 měsíci +6

    Pointers can be hard to learn and understand why or when to use them. This is a nice short video that clearly articulates all the basics in a very clear and easy to follow along example. Thanks for all the videos! Very well done.

  • @pietraderdetective8953
    @pietraderdetective8953 Před 8 měsíci +8

    i absolutely love this C tutorial series.
    your channel is amazing! i need to pick up the pace, i still got 154 videos left to grind..

    • @PortfolioCourses
      @PortfolioCourses  Před 8 měsíci

      I’m really glad that you’re enjoying the content. :-)

  • @philipphortnagl2486
    @philipphortnagl2486 Před rokem +16

    This concept is hard to get for beginners, thanks a lot!

  • @calvinalberts5119
    @calvinalberts5119 Před 10 měsíci +1

    Watched so many videos on this. First time I actually understood what it is. Good video.

  • @SuperDamuho
    @SuperDamuho Před 4 měsíci +1

    I get it now. Pass by reference (pointer) is needed because the variables in functions are exclusive. It's like there's a wall between the function area and the main area. The only way we can connect those variables (in main and in function) is to manipulate the memory via addresses. Kinda like digging a hole underground.😄

  • @user-lf3yj5zb2r
    @user-lf3yj5zb2r Před 2 lety +2

    Passed by pointer. Got it!!!
    Great video, thanks!

  • @christopheanfry2425
    @christopheanfry2425 Před 3 měsíci

    This is gold!!! Thank you for the clear explanation

  • @nano0110
    @nano0110 Před rokem

    Got it ! thank you a lot !

  • @love15.01
    @love15.01 Před 2 lety +1

    really good, thanks you!:)

  • @louisdzidzor2253
    @louisdzidzor2253 Před rokem

    The Best channel so far

  • @kierkegaard54
    @kierkegaard54 Před 7 měsíci +1

    Clear as a whistle

  • @muhisaleh4598
    @muhisaleh4598 Před rokem +3

    pass by pointer 💪thnx a lot, this channelis realy one of the best c channel ever :)

  • @yoeurnyan1839
    @yoeurnyan1839 Před rokem

    thank you do much such a great video.

  • @L00p69
    @L00p69 Před rokem

    Really thanks ❤

  • @bougsqf4462
    @bougsqf4462 Před 2 lety +1

    cool man!
    thx

  • @gamingwithronpubgm3615
    @gamingwithronpubgm3615 Před měsícem

    thx man I immediately understood everything after watching this video😁

  • @nuclearrambo3167
    @nuclearrambo3167 Před rokem +1

    if we think that & is inverse of *, & times * will produce 1. Therefore *&x = x. (i dont know is that interpretation whether correct or not)

  • @Andy_B.
    @Andy_B. Před 4 měsíci

    still didnt understand why call by value didn't work...
    😆
    but I understood the call by reference mechanism,
    thanks!!

    • @guusziin6241
      @guusziin6241 Před 2 měsíci

      because in C apart from global variables all variables only exist inside the scope of a function.
      in the example of the video x and y only exist inside the main function and when you pass their values to the swap function it will actually create a copy of them that only exist inside swap, and when the swap function ends the copy will be deallocated and will return to the main function where the actual x and y remained unchanged.
      so when you actually pass the addresses of x and y as an argument of swap it'll change their values for the whole program, because the actual value stored in the memory address of x and y will be changed other than a copy that only exists in the scope of swap

  • @jonathanmoore5619
    @jonathanmoore5619 Před rokem

    Can you have (int &a, int &b) as function perameters? Im confused here? As we want an address to deference...?

    • @PortfolioCourses
      @PortfolioCourses  Před rokem +3

      We can do that in C++ where reference variables are supported. But in C we can only achieve 'pass by reference' by using pointer parameters. When we have a parameter like int *a, the argument is going to be a pointer (memory address). :-)

  • @ridoxi4341
    @ridoxi4341 Před rokem

    what IDE you're using sir?
    and thanks for the video.

    • @PortfolioCourses
      @PortfolioCourses  Před rokem +1

      You're welcome! :-) In this video I am using Visual Studio Code as a text editor, and I am using the gcc compiler on the MacOS Terminal.

  • @alexmacomposer8131
    @alexmacomposer8131 Před měsícem

    Godsent

  • @brunomartel4639
    @brunomartel4639 Před rokem

    why is it called passed by pointer and not passed by reference?

    • @PortfolioCourses
      @PortfolioCourses  Před rokem +2

      Great question Bruno! :-) The term pass by reference is more accurate in languages like C++ that have reference variables (and reference parameters): czcams.com/video/cxysUPZH65Y/video.html. Reference variables are a different type of variable than a pointer, though the concepts are a bit similar too... references are a reference to the variable, the essentially "are" the variable they are referencing and give us access to that variable. Whereas pointers store a memory address, the memory address of the variable they are "pointing to", and we can access the variable they are "pointing to" by de-referencing the pointer. So in C, because we are using pointers, it's more accurate to say "pass by pointer". As a practical matter though if you say "pass by reference" when referring to "pass by pointer" people will know what you mean and the terms get used in a more casual manner like that in practice.