Dynamic Memory Allocation | C Programming Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024

ความคิดเห็น • 149

  • @mikehibbett3301
    @mikehibbett3301 10 หลายเดือนก่อน +10

    A lovely explanation from someone who didn't come into this field from the early days.

  • @manobrodeful
    @manobrodeful 2 ปีที่แล้ว +86

    Your videos are being of great help to me on my Data Structures and Algorithms class at college. You teach very well, thanks very much!

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +5

      You're very welcome, I'm so glad to hear these videos are helping you! 😀

    • @efilopialul2494
      @efilopialul2494 11 หลายเดือนก่อน

      Where are u studying?

  • @Ch4p1n17
    @Ch4p1n17 6 หลายเดือนก่อน +7

    Dude, You have helped me a ton more than possible, you explain things so much better than most tutorials out there, Thank you so much!

    • @PortfolioCourses
      @PortfolioCourses  6 หลายเดือนก่อน

      That’s so great to hear, thanks for sharing this, and you’re very welcome! :-)

  • @hyperphenomenal4360
    @hyperphenomenal4360 ปีที่แล้ว +9

    this is top quality content, and yet terribly underrated, thank you for your clear explanation!

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      You're very welcome, I'm glad you enjoyed the video! :-D

  • @hirdaybindra5382
    @hirdaybindra5382 10 หลายเดือนก่อน +4

    so under rated channel!

  • @bhathiyaranasinghe6637
    @bhathiyaranasinghe6637 11 หลายเดือนก่อน +3

    your teaching way is so clear and easier to listen. Thank you again.

  • @abraham7966
    @abraham7966 4 หลายเดือนก่อน +1

    These videos are soo well done! I have probably watched over 20 of them in the past 3 days. I don't even need to watch them since I know C but it's so refreshing and so well explained, illustrated, etc... Well done!

  • @al470ex12
    @al470ex12 ปีที่แล้ว +6

    You are a legend, it took me hours trying to understnad this from my teacher and books, but you have summed it up for me in 30 (15 because I like to go fast) min!
    Thank you!

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      You’re welcome Alex, I’m glad the video was able to help you out! :-)

  • @DHARMA252
    @DHARMA252 6 หลายเดือนก่อน +1

    Man I love your channel. Your explanation is clear and consistent so even I can understand.

  • @merv803
    @merv803 หลายเดือนก่อน +1

    I'm not gonna lie... you might be the goat brotha

  • @mrdiabeatis9943
    @mrdiabeatis9943 3 หลายเดือนก่อน +1

    genuinely one of the best tutorials on this topic

  • @thekraken2302
    @thekraken2302 2 ปีที่แล้ว +5

    thank you so much for this video i've been struggling with malloc and calloc for the longest time and you were the first one that explained it in a way that i understand Love the channel

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      That's awesome, I'm very glad to hear this video helped you out. 🙂

  • @0xRAND0M
    @0xRAND0M ปีที่แล้ว +3

    You teach very well, Your videos are very helpful, I hope more people realize the quality of your work.

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว +1

      Thank you for the kind feedback Christopher, I’m glad you enjoy the videos! :-) The channel has only been active for 2 years, I’m hoping over time more people learn about it too.

  • @nicorepetto5781
    @nicorepetto5781 ปีที่แล้ว +7

    Time stamps:
    intro: 0:00
    Stack vs Heap: 0:47
    malloc: 5:08
    Memory leaks/Manual memory management: 12:22
    calloc: 18:09
    Memory management: 29:18

  • @goldbar7779
    @goldbar7779 ปีที่แล้ว +1

    This was the only good video I could find after watching several videos
    Nice job 🥂

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      I’m glad the video was helpful for you, and thank you for the kind feedback! :-)

  • @Jaroslav-f7t
    @Jaroslav-f7t 2 หลายเดือนก่อน +1

    fantastic explanation, thanks for helping everyone

  • @BelegaerTheGreat
    @BelegaerTheGreat ปีที่แล้ว +3

    Man, this is actually entertaining!

  • @dangeerraaron
    @dangeerraaron 2 ปีที่แล้ว +1

    That was an awesome tutorial! I followed along on my text editor + Ubuntu terminal and made clarifying comments (for myself, haha). I found the use of the *item pointer in the peek and pop functions as an insightful way to use the addresses to access. Thank you again, fantastic content!

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +1

      You're very welcome, I'm glad to hear you were able to follow along and that you enjoyed the content! :-)

    • @dangeerraaron
      @dangeerraaron 2 ปีที่แล้ว

      @@PortfolioCourses Whoops, to clarify, this comment was meant for your Stack ADT and operations tutorial!

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      @@dangeerraaron Oh ok that makes sense. 🙂

  • @yigitcoban9823
    @yigitcoban9823 ปีที่แล้ว +1

    This is incredible. I can find all answers that ı have thought about C and C++.

  • @GeneralTeiLing
    @GeneralTeiLing 5 หลายเดือนก่อน +1

    Very good teaching style ❤

    • @PortfolioCourses
      @PortfolioCourses  5 หลายเดือนก่อน

      I’m glad you enjoyed it! :-)

  • @VincentAlesi
    @VincentAlesi 10 หลายเดือนก่อน +2

    Really well explained, thank you for the lesson!

  • @markjanzer6189
    @markjanzer6189 ปีที่แล้ว

    Thanks!

  • @alvarobarboza5730
    @alvarobarboza5730 ปีที่แล้ว +3

    another very illustrative !! thank you

  • @ashenafigodana
    @ashenafigodana ปีที่แล้ว +1

    Thank you Sir. Your explanations completely clear all my confusions.

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      You’re welcome Ashenafi, I’m glad the explanations cleared things up! :-)

  • @blankspace1959
    @blankspace1959 2 ปีที่แล้ว +1

    lovely video, glad I found this channel

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      Thank you very much for the kind words, and I'm glad you found the channel too! 🙂

  • @morganwd1734
    @morganwd1734 15 วันที่ผ่านมา

    Liked it so much I had to comment, super helpful.

  • @amandaliu7409
    @amandaliu7409 3 หลายเดือนก่อน

    so good please keep making these videos

  • @D_Ladybug
    @D_Ladybug 2 ปีที่แล้ว +1

    You're an awesome tutor! I look forward to when you'll do a video that shows how we can save user's input into a malloc created array!

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      Thank you Olamide! :-) Once you’ve allocated space for the array with malloc filling it with user input is the same as a regular array (“on the stack”), this video might help you with that: th-cam.com/video/5nyMb7hJ7Xs/w-d-xo.html

    • @D_Ladybug
      @D_Ladybug 2 ปีที่แล้ว

      @@PortfolioCourses Thank you for responding. I feel so honored. I'll try it and get back to you

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      @@D_Ladybug You're welcome. And cool sounds good! 🙂

    • @manobrodeful
      @manobrodeful 2 ปีที่แล้ว

      #include
      #include
      int main () {
      int i, n;
      int *a;
      printf("Number of elements to be entered:");
      scanf("%d",&n);
      a = (int*)calloc(n, sizeof(int));
      printf("Enter %d numbers:
      ",n);
      for( i=0 ; i < n ; i++ ) {
      scanf("%d",&a[i]);
      }
      printf("The numbers entered are: ");
      for( i=0 ; i < n ; i++ ) {
      printf("%d ",a[i]);
      }
      free( a );

      return(0);
      }

  • @riddlediddleriddle
    @riddlediddleriddle ปีที่แล้ว +1

    Your guides rock!

  • @mikehibbett3301
    @mikehibbett3301 10 หลายเดือนก่อน +1

    I've always been curious about how malloc deals with new/free allocations of different sizes over time. What does the memory look like over time?

    • @PortfolioCourses
      @PortfolioCourses  10 หลายเดือนก่อน

      I think some of that depends on the OS / architecture. But memory can definitely become "fragmented" with lots of gaps and whatnot, depending on what you're doing.

  • @cleightthejw2202
    @cleightthejw2202 ปีที่แล้ว

    @Host
    The 'realloc' does apply to 'calloc' as well, correct? I'm pretty sure it does but it wasn't said and I don't want to assume I'm understanding it properly

  • @Brad_Script
    @Brad_Script 7 หลายเดือนก่อน +2

    heap and stack are not the only memories in C, there's also static memory

  • @amkhrjee
    @amkhrjee 2 ปีที่แล้ว +2

    At 2:04 - Minor correction(maybe): We are essentially passing the parameters a and b to the function. So, c should be equal to a and so is the case for d and b.

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      That's true, the illustration on the left was more about showing the idea of "the stack". 🙂

  • @dhudach
    @dhudach 10 หลายเดือนก่อน

    Your videos are very clear and educational. This one is particularly interesting. I've coded in numerous languages including C, master of none. I don't even consider myself an expert in any. But I can be proficient. That aside, I found interesting the section where you save the pointer to the allocated memory into the save variable, free(a) then can still access the data in that memory location. For some reason, I thought or read or heard that kernels prevent access to memory not owned by the program. I guess this is not the case. Can the C program change the value once it's been freed? So does that mean that a C program can effectively step through the entire RAM to inspect and/or change the values?

  • @trivial1344
    @trivial1344 ปีที่แล้ว

    At 9:36, do we not need to typecast (int *) into malloc since it returns a void pointer? Or is it just considered good practice/readability

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว +1

      Great question! :-) Yes, we don't need the typecast in C because malloc returns a void pointer. In C++ we do use the typecast: stackoverflow.com/a/3477952.

    • @trivial1344
      @trivial1344 ปีที่แล้ว

      @@PortfolioCourses Ohh thanks!! That part had me confused since C++ does int* arr = new int[n]. Love your videos by the way, trying to learn C before college classes start!!!

  • @ChrisOffner
    @ChrisOffner ปีที่แล้ว

    It's unclear to me why on slide 4 (~2:45) in the stack table we have *c = 8* and *d = 9* when *myfunction* gets called with *a* and *b,* which are 4 and 7, respectively. Shouldn't we have *c = 4* and *d = 7* there?

    • @0xRAND0M
      @0xRAND0M ปีที่แล้ว

      No because c,d are variables which are supposed to store the numbers given as arguments when the function is called.

    • @ChrisOffner
      @ChrisOffner ปีที่แล้ว

      ​@@0xRAND0M Yeah, and the numbers given as arguments when the function *myfunction* is called in *main* are 4 and 7 respectively.

  • @mh7369
    @mh7369 2 ปีที่แล้ว

    Excellent video, very helpful, thankyou

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      You’re very welcome! :-) I’m really glad to hear you enjoyed the video.

  • @architectCobi
    @architectCobi 2 ปีที่แล้ว +1

    So is airplane systems built with the c programming language? And also NASA systems?
    Also is assembly language much faster than c since it talks directly with the machine?
    Thanks.. very useful video

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +1

      I'm not sure what languages those systems are built with. It wouldn't surprise me if they use something "safer" than C, but I don't know. Assembly can be faster than C, but it can also be slower because compilers can be "smarter" about optimizing code execution than programmers sometimes. :-)

  • @spatialnasir
    @spatialnasir ปีที่แล้ว

    Splendid explanation. Thanks.

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      You're welcome, I'm glad you enjoyed it! :-)

  • @batozorange
    @batozorange 2 ปีที่แล้ว

    Very helpful video, thank you!

  • @architectCobi
    @architectCobi 2 ปีที่แล้ว

    Which programming language has pointers and object oriented programming ?
    Java doesn't have pointers but is a oop language

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +1

      C++ has pointers and OOP. :-)

    • @AnalogDude_
      @AnalogDude_ 10 หลายเดือนก่อน

      Java needs an interpreter, it doesn't run natively.

  • @muhammadaushafalfarras2485
    @muhammadaushafalfarras2485 2 ปีที่แล้ว +1

    Thank you for the informative video! After trying out the code, I'm a bit confused with the output of the *save pointer because from save [ 0 ] to save [ 3 ], it prints out random numbers and not 5, 4, 3, and 2 as expected, while the rest are just fine. Is this because of my own device or compiler? Thank you

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      I'm not sure Muhammad. I think you should get the same result. The original code is available here: github.com/portfoliocourses/c-example-code/blob/main/dynamicmem.c. That said, while free() is not required to alter the free'd memory (e.g. setting all the memory to zeros or random data), I don't believe there is anything stopping the compiler/OS/etc from doing this either. So if your using the exact same code and getting a different result, it may be due to the compiler/OS. :-)

    • @muhammadaushafalfarras2485
      @muhammadaushafalfarras2485 2 ปีที่แล้ว

      @@PortfolioCourses Thank you! The os may have an effect on the result

    • @beyzayuksel41
      @beyzayuksel41 ปีที่แล้ว

      @@muhammadaushafalfarras2485 hi! I got the exact same problem. [0]to [3] gets random numbers or 0's and after [3] it gave me the correct answers. Did you able to solve the problem?

  • @marbles5590
    @marbles5590 2 ปีที่แล้ว +1

    Is it necessary to typecast like:
    int *a = (int*) malloc (sizeof(int) * 10)
    Because when I didn't include (int*) like in your code, it returns an error.

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +2

      Great question! 🙂 In C it is not necessary to typecast, but in C++ it is necessary. If you are using a C++ compiler, that might be the reason you get an error.

    • @marbles5590
      @marbles5590 2 ปีที่แล้ว

      @@PortfolioCourses okay thank you so much!

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      @@marbles5590 You're welcome Shannen! 😀

  • @gormarduck1658
    @gormarduck1658 7 หลายเดือนก่อน

    awesome tutorial

  • @danielszilagyi9658
    @danielszilagyi9658 ปีที่แล้ว

    Interestingly, when I tried the infinite malloc part, it didn't "crash". First the browser window went black. The the whole screen.
    Apparently Win10 happily lets you steal memory space from running processes.

    • @rusi6219
      @rusi6219 11 หลายเดือนก่อน

      It's a feature for glowies to install malware on your devices

  • @arthur_p_dent4282
    @arthur_p_dent4282 ปีที่แล้ว

    Is there a way to specify the amount of memory you want the whole program to occupy? How does the computer decide how much memory to reserve for the instructions/heap/stack together?

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว +2

      That's a good question Arthur and to an extent the answer is that "it depends on the compiler". :-) Often how exactly a program compiles or is setup to execute isn't something that's part of the language definition, so it's left up to the compiler makers to decide. It can also vary from one platform (OS, hardware, etc) to the next too. So while it's a good question, I'm not sure I can provide a great answer. I think learning about compiler and OS design would help to answer these questions though.

  • @nathankong8732
    @nathankong8732 2 ปีที่แล้ว

    Hi, just here to clear things up about realloc. Realloc is essentially copying an old dynamic array and pasting it into a newly allocated dynamic array with a new size? Is the memory in the old dynamic array free up when realloc call? Thanks !

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +1

      Great question Nathan! :-) And yes, that's the idea. realloc() doesn't always need to copy the old dynamic array to a new location though, it will do that if it can enlarge the exist block of memory at the existing location in memory. If it does need to move the block of memory to a new location, it will copy the data, and it will free the 'old' area of memory for use again. Interestingly though, it may not CLEAR this block of memory, so whatever was there before, like passwords for example, will remain there. You might find these videos interesting:
      realloc basics: th-cam.com/video/vr7qCQLrUt8/w-d-xo.html
      realloc security vulnerability: th-cam.com/video/_Ns0CWEoRio/w-d-xo.html
      handle realloc failure safely: th-cam.com/video/skqCnhhA0ZY/w-d-xo.html

  • @cscor
    @cscor ปีที่แล้ว

    Thank you very much,good sample programs

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      You're very welcome, I'm glad you enjoyed the sample programs! :-)

  • @bowspleefing
    @bowspleefing 19 วันที่ผ่านมา

    thank you sur!

  • @codeZonehk
    @codeZonehk ปีที่แล้ว

    amazing very clear

  • @powergladius
    @powergladius 2 ปีที่แล้ว

    Great video, thank you!

  • @ApoloOfficial30
    @ApoloOfficial30 2 ปีที่แล้ว

    Hello, I would like to ask you if it's also important to NULL a after free-ing int. If it is or not, could you give me some explenation? Thank you so much for your response

    • @ApoloOfficial30
      @ApoloOfficial30 2 ปีที่แล้ว

      Like we it's not reasonable to use it in calloc because this function makes us sure that it is already clear.. but otoh there are some reasons to use it in malloc? I want to make sure that I understand that :)

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +1

      Hi Adam, whether setting a pointer to NULL is a good practice or not is something people argue about a bit: stackoverflow.com/questions/1025589/setting-variable-to-null-after-free. :-) I would say that it's a good defensive practice to ensure that other parts of the program can check that the pointer is NULL (i.e. not being used to point to memory at that moment), but it may not really solve the problem it's trying to solve. People generally set the pointer to NULL after free to prevent trying to free the memory twice, but that usually occurs when we have multiple pointers to the same position in memory (e.g. by copying a pointer value to another variable) and then we try to free it two times using two different variables that store that address.

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +2

      If you want to learn about malloc vs calloc this video may help: th-cam.com/video/SKBnxCq3HvM/w-d-xo.html. :-)

  • @anonymousbelgique7331
    @anonymousbelgique7331 2 ปีที่แล้ว

    very good informations thank you sir

  • @philipphortnagl2486
    @philipphortnagl2486 2 ปีที่แล้ว +1

    great content

  • @MrBolcetik
    @MrBolcetik 2 ปีที่แล้ว

    Thanks for this awesome video . I am trying to understand the things and I have came up with this question:
    Can you explain what is the difference between
    int a[10];
    vs.
    int *a = malloc(sizeof(int) * 10);
    Thanks a lot.

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +4

      You're welcome! :-) The short answer is that the first one is declaring an array on the stack, the second declares a pointer variable called 'a' that will "point to an int". What this means is that it will store the memory address of an int. The malloc() function will allocate enough bytes to store 10 int values, i.e. it will go out and get block of memory large enough to store 10 ints. It returns the memory address of this block of memory, and that gets stored into the variable 'a'. We call this a "dynamically allocated array" and it gets stored in a different place in memory than the stack called "the heap". Learning more about pointers can help to learn about dynamic memory allocation: th-cam.com/video/2GDiXG5RfNE/w-d-xo.html.

    • @MrBolcetik
      @MrBolcetik 2 ปีที่แล้ว

      @@PortfolioCourses So many thanks to you, great teacher :) You are my most favorite teacher in youtube on my journey of becoming software engineer. Thanks a lot for everything

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว +1

      You're welcome! :-) And thank you so much for sharing such kind feedback, that means a lot to me!

  • @Emanuel-oz1kw
    @Emanuel-oz1kw ปีที่แล้ว

    Thank you Kevin, thanks

  • @AlyssonTeixeira
    @AlyssonTeixeira 3 หลายเดือนก่อน

    Thanks man!!

  • @ionguzun3952
    @ionguzun3952 2 ปีที่แล้ว +1

    so helpful...thanks

  • @MoatazBellahezzait
    @MoatazBellahezzait ปีที่แล้ว +4

    my computer crashed after running that memory loop lol

  • @love15.01
    @love15.01 2 ปีที่แล้ว +1

    thank you so much! спасибо

  • @Ibrahimabdalaziz-xo8mx
    @Ibrahimabdalaziz-xo8mx หลายเดือนก่อน

    LOVE IT

  • @nathanassefa8787
    @nathanassefa8787 2 ปีที่แล้ว

    sir would you please make a video how to use the ide you are using. It is really nice editor. Just make a small video how to use it in windows. Thanks

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      Great question Nathan! In this video I am using Visual Studio Code. I have disabled some of the standard windows though that allow you to select different files, because in the videos I only want to focus on a single code file (most of the time anyways). The terminal is the other program I am using... the equivalent program on windows would be the command-line (though there are more sophisticated Windows terminals/shells, such as power shell). Maybe one day I can make a video on setting up exactly this 'environment' on Windows and/or a Mac. :-)

  • @qwwrt8596
    @qwwrt8596 ปีที่แล้ว

    how can i make my visual studio look like yours?
    btw thanks for the video, i learnt a lot more from this video alone than my college.

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว +1

      Just so the video is focused on code, I go to the view menu at the top, and then the appearance submenu, and then I turn off all the different panels. I make the font bigger, though exactly how big depends on the video, that can be done by searching for 'font' underneath settings. And I use Terminal on MacOS, I just have the terminal next to Visual Studio Code on the right. :-) And I'm very glad to hear this video helped you out!

  • @ishimwechris3978
    @ishimwechris3978 2 ปีที่แล้ว

    good explanation

    • @PortfolioCourses
      @PortfolioCourses  2 ปีที่แล้ว

      Thank you Ishimwe, I'm glad to hear you enjoyed it! :-D

  • @AdmiralIbra
    @AdmiralIbra ปีที่แล้ว

    you can't save data of ''a'' in ''save'' . ''a'' and ''save'' point to the same block of memory ,after you freed "a" , "save" will point to same block of garbage value that "a" point to . doesn't make sense you will get different data from "save" .

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      I don’t understand your comment, are you just repeating what’s discussed in the video? Or do you have a question? Because in the video I say multiple times that save is storing the same memory address as a. And yes, we don’t get different data from save or a because they are pointing to the same thing. :-)

    • @AdmiralIbra
      @AdmiralIbra ปีที่แล้ว

      ​@@PortfolioCourses sorry my mistake , I just get confused when I copied this program on my pc i din't get same output, I got some garbage data, not the same as you .

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      Oh OK I see, thank you for the update I was curious. :-)

  • @IrohaNatsumeMyBeloved
    @IrohaNatsumeMyBeloved ปีที่แล้ว

    Thanks

  • @bougsqf4462
    @bougsqf4462 2 ปีที่แล้ว +1

    cool man

  • @tsunningwah3471
    @tsunningwah3471 10 หลายเดือนก่อน

    good

  • @tsunningwah3471
    @tsunningwah3471 10 หลายเดือนก่อน

    盧卡斯出現尼可拉斯尼可拉斯尼可拉斯內搭褲了

  • @souradeepbanerjee869
    @souradeepbanerjee869 10 หลายเดือนก่อน

    19:55

  • @joseluizdurigon8893
    @joseluizdurigon8893 2 ปีที่แล้ว

    17:15, didn't crashed the program but jammed the whole computer hahahahahaahahaha. Scary

  • @platonymous
    @platonymous ปีที่แล้ว

    lol warning running it caused my computer to crash

    • @PortfolioCourses
      @PortfolioCourses  ปีที่แล้ว

      The code in the video will not cause your computer to crash. :-)

    • @platonymous
      @platonymous ปีที่แล้ว

      @@PortfolioCourses I swear my screen completely went black from doing it on vs code. I did the 10000000 though. Only thing I could do was reset my pc.

  • @tsunningwah3471
    @tsunningwah3471 10 หลายเดือนก่อน

    zhin

  • @tsunningwah3471
    @tsunningwah3471 10 หลายเดือนก่อน

    n n n n n n n n n n

  • @MrOboema
    @MrOboema 10 หลายเดือนก่อน

    "With great power comes great responsibility."
    - The bible, right?
    No, dude. Star Trek. Wrath of Kahn.

  • @six7929
    @six7929 2 ปีที่แล้ว

    super helpful tysm..