Python Memory Management and Tips Transcripts
Chapter: Python variables and memory
Lecture: Passing values in C
0:00 Let's look at one more example before we move on to talk about how Python does
0:04 the equivalent thing. So let's look at a slight variation.
0:07 We've got the same SamePerson function.
0:11 It's going to take two people and determine if they're the same.
0:14 However, this time, instead of passing pointers,
0:16 which are basically numbers to memory addresses where the real data lives,
0:20 we're just gonna pass the id's.
0:21 Remember before we're saying p1 arrow,
0:24 id. Might as well
0:25 just past the id that makes it a little easier to do.
0:28 So we have our two pieces of data
0:31 which are integers p1_id and p2_id.
0:33 They don't point anywhere. They literally just have the value,
0:37 right? This is the same thing that was the id before.
0:40 So in C, we can pass the value of a thing or we can pass
0:44 a pointer like we saw before and there's good reason for both.
0:48 If you have a large data structure and you want to move it around without making copies
0:52 because that would be slow,
0:54 You would pass by reference or pass a pointer. If you wanted to,
0:58 even more importantly, you want to make changes to it and have those changes reflected
1:02 in other parts of the program,
1:03 you need to pass the pointer, change the shared location,
1:07 and then everyone will see those changes. As opposed to here
1:10 if we change the id
1:11 only this function would see it.
1:13 But, C and many languages, c#,
1:15 other languages, they have this distinction between passing sometimes just the value,
1:20 like the integers, and sometimes
1:22 like previously the address of the thing that you gotta follow as a pointer out there.
1:27 So, I want to put these two up and contrast them for you,
1:30 and then we're gonna dive into Python.