Pass By Reference | C Programming Tutorial

Поділитися
Вставка
  • Опубліковано 23 чер 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!
  • Навчання та стиль

КОМЕНТАРІ • 40

  • @crklopotic
    @crklopotic 5 місяців тому +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.

  • @philipphortnagl2486
    @philipphortnagl2486 Рік тому +16

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

  • @pietraderdetective8953
    @pietraderdetective8953 8 місяців тому +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  8 місяців тому

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

  • @calvinalberts5119
    @calvinalberts5119 10 місяців тому +1

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

  • @SuperDamuho
    @SuperDamuho 4 місяці тому +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 2 роки тому +2

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

  • @christopheanfry2425
    @christopheanfry2425 3 місяці тому

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

  • @nano0110
    @nano0110 Рік тому

    Got it ! thank you a lot !

  • @kierkegaard54
    @kierkegaard54 7 місяців тому +1

    Clear as a whistle

  • @louisdzidzor2253
    @louisdzidzor2253 Рік тому

    The Best channel so far

  • @love15.01
    @love15.01 2 роки тому +1

    really good, thanks you!:)

  • @muhisaleh4598
    @muhisaleh4598 Рік тому +3

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

  • @yoeurnyan1839
    @yoeurnyan1839 Рік тому

    thank you do much such a great video.

  • @Andy_B.
    @Andy_B. 4 місяці тому

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

    • @guusziin6241
      @guusziin6241 2 місяці тому

      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

  • @nuclearrambo3167
    @nuclearrambo3167 Рік тому +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)

  • @gamingwithronpubgm3615
    @gamingwithronpubgm3615 Місяць тому

    thx man I immediately understood everything after watching this video😁

  • @bougsqf4462
    @bougsqf4462 2 роки тому +1

    cool man!
    thx

  • @L00p69
    @L00p69 Рік тому

    Really thanks ❤

  • @jonathanmoore5619
    @jonathanmoore5619 Рік тому

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

    • @PortfolioCourses
      @PortfolioCourses  Рік тому +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 Рік тому

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

    • @PortfolioCourses
      @PortfolioCourses  Рік тому +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 Місяць тому

    Godsent

  • @brunomartel4639
    @brunomartel4639 Рік тому

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

    • @PortfolioCourses
      @PortfolioCourses  Рік тому +2

      Great question Bruno! :-) The term pass by reference is more accurate in languages like C++ that have reference variables (and reference parameters): ua-cam.com/video/cxysUPZH65Y/v-deo.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.