Pointers in C

  Рет қаралды 257,557

Gary Explains

Gary Explains

Күн бұрын

Пікірлер: 394
@TheSar
@TheSar 6 жыл бұрын
I studied C native in University on Solaris and this explanation of pointers is far and away better. Better on all fronts. Well done Sir.
@skilz8098
@skilz8098 4 жыл бұрын
This is just the basics, here he is only addressing it... wait until you work with dynamic memory and the heap... I've learned C long ago but I'm more familiar with C++. The basic way to create a block of memory in C++ is with new and new[] and to free them is with delete and delete [] respectively. Today, this is considered bad practice unless you truly know what you are doing and you have a very specific reason for using "raw pointers" as the conventional way is to use std::shared_ptr and std::unique_ptr... In C this is done with malloc() and free() and some other memory-based functions.
@Seaprimate
@Seaprimate 5 жыл бұрын
I feel that despite not having any fancy visuals or elaborate analogies, I feel I intuitively understood more in these 10mins with your video than I did through multiple other longer videos combined. I don't know how you did it but thank you!
@liamhulsey9158
@liamhulsey9158 2 жыл бұрын
Currently in a college course learning C and this is the only explanation I've heard in class or on the internet that makes pointers make sense. Can't thank you enough.
@GaryExplains
@GaryExplains 2 жыл бұрын
My pleasure. I hope your courses go well 👍
@john_avernia
@john_avernia 2 жыл бұрын
I just started learning programming (several weeks now) and your video really helps me a lot in understanding pointers. Which is, from what I heard, is one of the hardest subject in C programming.
@Hunter725R
@Hunter725R 4 жыл бұрын
Me: Visual Studio for C with autocompletion for smallbrain Him, a divine being: nano on a Rasperry Pi Zero for C.
@SwedishDude08
@SwedishDude08 4 жыл бұрын
@Christian Weissmuller Vim is evil, use emacs instead and enjoy your sprained pinky!
@dgaa1991
@dgaa1991 4 жыл бұрын
@@SwedishDude08 Well Evil Emacs is kinda nice :D
@volkerking5932
@volkerking5932 4 жыл бұрын
@Christian Weissmuller vim is for noobs use xemacs!
@Andrew-wo8ry
@Andrew-wo8ry 4 жыл бұрын
Notepad++ gang.
@ihitonmilfs
@ihitonmilfs 3 жыл бұрын
you guys still use nano? real men just echo "#include int main(){printf("Hello World");}" >> program.c
@LoyalSlime
@LoyalSlime 6 жыл бұрын
sir please do more C tutorials
@GaryExplains
@GaryExplains 6 жыл бұрын
If there is enough interest then I will.
@thomasb1337
@thomasb1337 6 жыл бұрын
I'd love it. I'd even pay for it on something like udemy =.
@josh429
@josh429 6 жыл бұрын
+1
@stephenjames5745
@stephenjames5745 6 жыл бұрын
That would be amazing!
@nikhil.n
@nikhil.n 6 жыл бұрын
sir we are interested in programming tutorials do make more of them.
@fifaham
@fifaham 4 жыл бұрын
I have been browsing for tutorials and found many on KZbin for things I already know, I found yours to be one of the best and I will keep your link here with me. Job well done.
@skylo706
@skylo706 5 жыл бұрын
Oh I wanted to make a tutorial on pointers myself called "How to SegFault in C"
@qwerasdfhjkio
@qwerasdfhjkio 4 жыл бұрын
Lol
@SwedishDude08
@SwedishDude08 4 жыл бұрын
To people getting this error message from gcc: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 2 has type ‘int *’ Change %x to %p and it will work.
@davidmella1174
@davidmella1174 4 жыл бұрын
yes, some things have changed with the new C standards in the compiler.
@boazvoort6869
@boazvoort6869 3 жыл бұрын
"%d" worked for me
@abrahamnzau254
@abrahamnzau254 2 жыл бұрын
By far the best explanation of pointers I have come across
@Ejeby
@Ejeby 2 жыл бұрын
4:30 & tells you the address, * tells you the dereferenced value 6:50 in c an array name is equivalent to its pointer 7:30 increment the pointer
@JJSogaard
@JJSogaard 3 жыл бұрын
I'm just in the beginning of getting into C after learning Python. There really is something beautiful about how basic and (relatively) low-level it is.
@DrSpooglemon
@DrSpooglemon 2 жыл бұрын
Scared the b'jesus out of me moving from the well ordered metropolis of Python to the wild west of C.
@MrGman590
@MrGman590 4 жыл бұрын
Now I understand how pointers work, after 4 years of trying. Thanks for explaining, Gary!
@D3ND
@D3ND 6 жыл бұрын
Great video! pointers are definitely one of the more tricky parts of C that I have faced, especially when going for data structures (linked lists, dynamic arrays... ) with allocating and freeing and so on...
@brokenicry
@brokenicry 5 жыл бұрын
I went through so many tutorials just to understand this...Only this single fast-paced video helped me understand... Thank you. Please tell me there are more videos like this
@ShadowPianoProductions
@ShadowPianoProductions 3 жыл бұрын
Dude, you're a godsend, I could not understand pointers for the life of me before watching this video
@felaflame
@felaflame 5 жыл бұрын
Excellent explanation. Simple, going straight to the point.
@mukukakondowe5939
@mukukakondowe5939 2 жыл бұрын
Thank you for demystifying pointers for me. They have been a real pain in my neck.
@ST95953
@ST95953 6 жыл бұрын
my teacher couldn't explain this properly. Thanks!
@easymatrixyt326
@easymatrixyt326 4 жыл бұрын
Lol
@cy4n_knight_q8
@cy4n_knight_q8 3 жыл бұрын
Your teacher tried to explain this? Mine didnt even bother to explain lol
@froggyy
@froggyy 3 жыл бұрын
Change your college
@CodyHoskin
@CodyHoskin 3 жыл бұрын
Haha same
@johndripper
@johndripper 2 жыл бұрын
Read books😔🙏🙄its not even a hard concept to grasp
@陈瀚龙
@陈瀚龙 5 жыл бұрын
Old guy here. I've been self-teaching Java and soon to start Android, but not sure how to approach learning Android. I decided to take a break and learn some C and explore Linux more in-depth which led me to this video. It was nice to see you using NANO and excited to hear about the Java/Android course. I'll have a look. Great job with this vid, short as it was, good introduction to pointers.
@eatscaper
@eatscaper 6 жыл бұрын
Your tutorial in C was superb ! Make more tutorials and gain the attraction of new developers and of course you are great !
@woomlrweiriwueiru
@woomlrweiriwueiru 4 жыл бұрын
Best pointers explanation I've seen!
@cookymonstr7918
@cookymonstr7918 Жыл бұрын
It dawned on me as you were typing (3:11) *aptr = &x because in a variable "aptr" you literally store the (hex)value of the address of an "x", which is nothing else than &x. No more, no less. The only thing that confuses me a bit is that doing "pointer arithmetics" decimal number is added to hexadecimal...
@GaryExplains
@GaryExplains Жыл бұрын
Decimal and hexadecimal are just ways we represent numbers for humans. The numbers are the same. Adding 15 to something and adding 0xF are the same thing.
@JesusMartinez-zu3xl
@JesusMartinez-zu3xl 3 жыл бұрын
You literally taught me in 12 minutes! compared to what my professor taught us... Thank you!! also understood you much more better.
@arjunkharbanda
@arjunkharbanda 6 жыл бұрын
One of the best video on pointers. Please make more such programming videos like Data Structures etc
@aliftaufik1934
@aliftaufik1934 6 жыл бұрын
The question is why should we prefer using pointer rather than using, for instance, the index number of array to loop it??
@danielgysi5729
@danielgysi5729 5 жыл бұрын
This is what I hoped this video would explain. Unfortunately I'm left feeling more confused than when I began
@SamChaneyProductions
@SamChaneyProductions 5 жыл бұрын
Pointers allow you to change the value of multiple variables from inside a function, and they even allow you to pass functions as arguments into other functions, both of which are impossible without them.
@RadicalEagle
@RadicalEagle 5 жыл бұрын
@@SamChaneyProductions thank you! As someone who is not familiar with C I couldn't quite understand why this was important.
@reiniertl
@reiniertl 5 жыл бұрын
There is a very interesting advantage but I really don't recommend it unless you really need the most performance. When you use array indexing in a loop the compiler (in theory) generates code to bring into the CPU registers the base address of the array and the value of the index, then it must compute the address you want to get access to. So you need two read access and a sum (all this is in machine code so it is very architecture dependent). When you use a pointer to access the elements of the array and you are traversing the array in a fixed pattern you can take advantage of pointer arithmetic, since you are incrementing the address by a fixed number the compiler generates code to bring the address value to the CPU register and the increment will be put into the ADD instruction code, so you save at least one instruction per access (no need to fetch the index value from memory). For example, the code bellow shows the differences: #include int array[10]={100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; int main(){ //This is a bit slower but more clear int val; for (int i = 0; i
@jvarennes
@jvarennes 5 жыл бұрын
Better to use pointer when, for example, you don't know what the array size will be at the beginning. Let's take a text file which has to be parsed and values stored. First, you do a malloc which gives you a pointer and begin to read the text file. Then, if you haven't allocate enough memory, you can do a realloc and continue to read and parse the file.
@MarcelN1980
@MarcelN1980 3 жыл бұрын
Thank you Sir, subscribed in 2021, all the very very best from Romania :)
@pcache
@pcache 4 жыл бұрын
I didn't learn anything new about pointers, but boy oh boy I had no clue some shells supported the exclamation point notation for repeating previous commands, that makes me excited.
@dwagner6
@dwagner6 5 жыл бұрын
Been a while since you shared this, but a better explanation than my professor at uni explaining c++ pointers. Cheers.
@nayanarora4966
@nayanarora4966 3 жыл бұрын
Best explaination I have ever seen
@NinjaRunningWild
@NinjaRunningWild 2 жыл бұрын
That sign behind you terrifies me, fully understanding what that will do. Happy debugging!
@GaryExplains
@GaryExplains 2 жыл бұрын
Why should that terrify you?
@GaryExplains
@GaryExplains 2 жыл бұрын
Here is a little C program using the code on the signpost! #include int main() { int **ptr; int *ptr2; int x=42; ptr = &ptr2; *ptr = &x; printf("x is %d ", **ptr); return 0; }
@emilyboyle7240
@emilyboyle7240 Жыл бұрын
this is the best explanation ive come across so thank u for this. i am curious as to what the point of pointers are. to fill the array u also could have just referenced each index as well
@GaryExplains
@GaryExplains Жыл бұрын
If you had a large Image that you want to process in a function, should you pass the whole 5MB to the function or just a pointer? They are also useful for many types of data structures, see my video on linked lists.
@StannyObelisk
@StannyObelisk 3 жыл бұрын
Gary mate you’re a legend
@jourkevin5254
@jourkevin5254 2 жыл бұрын
missed that part at school because of the covid , had trouble with the array part. Thanks for the video. Aannd subscribed
@akhilsreedhara968
@akhilsreedhara968 4 жыл бұрын
you have taught pointer better in 10 min than my professor has in 3 hours
@nagesh007
@nagesh007 6 жыл бұрын
Thanks a lot , can you please teach " C structures and unions" ?
@neelparekh1759
@neelparekh1759 2 жыл бұрын
It's easy 🙄🙄, I hope you have learned till now 🤣🤣
@thsdsyt
@thsdsyt 4 жыл бұрын
The star (*) is called the indirect operator because it access indirectly the value of a variable through the pointer.
@JP-nj2sl
@JP-nj2sl 5 жыл бұрын
Very clear explanation of pointers
@eliasdetrois
@eliasdetrois 4 жыл бұрын
Great tutorial. Thanks
@OMNI_INFINITY
@OMNI_INFINITY Жыл бұрын
Is it possible to make the val of a non-pointer var a mem address and then use the * operator on that normal var to get the val in the mem address that is its val? There must be some way to do that, unless it was architected to not allow that (doubtful)
@GaryExplains
@GaryExplains Жыл бұрын
Why a non-pointer var? I don't see the need or benefit. As a side note, with casting you can convert almost anything. For example: #include void main() { int x = 42; long y = (long) &x; int *p = (int *) y; printf("%d ", *p); } Output: 42
@OMNI_INFINITY
@OMNI_INFINITY 6 ай бұрын
@@GaryExplains Apologies that I didn't see that reply until today. Thanks for including that nice example code!👍🏻
@FritsvanDoorn
@FritsvanDoorn 5 жыл бұрын
Your main function should return a value. Other declare it void. Good explanation! Very clear.
@GaryExplains
@GaryExplains 5 жыл бұрын
LOL, not the grammar police, but the code review police. 😂
@DaSnipy
@DaSnipy 5 жыл бұрын
Thank you so much Sir .. Such crystal clear explanation with demonstration.
@yoelin9253
@yoelin9253 3 жыл бұрын
This was so incredibly helpful! Thank you!
@GaryExplains
@GaryExplains 3 жыл бұрын
Glad it was helpful!
@kc2838
@kc2838 4 жыл бұрын
Sir, please do more videos on more C concepts.
@ujvalmadhu5482
@ujvalmadhu5482 2 жыл бұрын
Can someone explain the purpose of a pointer, because you can just directly increment the index of the array (somenumbers) to update its values right? Instead of using a pointer? Why not call the variable directly??
@michaelshort2388
@michaelshort2388 3 жыл бұрын
Thank you for the informative video. Is there any benefit to using a pointer to traverse an array vs the traditional way?
@Kakashiownsyou
@Kakashiownsyou 2 жыл бұрын
Big ups for Nano. Big ups for good display colors. Salutations, friend.
@vishma9166
@vishma9166 3 жыл бұрын
Thank you very much Gary. Very helpful.
@eren8227
@eren8227 5 жыл бұрын
shouldn't printing the address of what pointer holds be with %p and proper type casting?
@patrickdeniso
@patrickdeniso 6 жыл бұрын
Thank you! You explained pointers really well
@Goodbirb
@Goodbirb 2 жыл бұрын
I've always used vs code, but now um curious on how do you code in the terminal like that
@michaeldausmann6736
@michaeldausmann6736 5 жыл бұрын
Great video Gary.
@JM-yj4yy
@JM-yj4yy 4 жыл бұрын
has pointer exam in 2 days, bless you KZbin algorithm, sweet child
@1MarkKeller
@1MarkKeller 6 жыл бұрын
*GARY!!!* *Good Morning Professor!* Great video as always!
@GaryExplains
@GaryExplains 6 жыл бұрын
MARK!!!
@DanielAlmeida499
@DanielAlmeida499 3 жыл бұрын
Great video! Thank you
@barakyehudagortler6265
@barakyehudagortler6265 6 жыл бұрын
tnx you explain in an interesting and clear way
@KoKoKen
@KoKoKen 2 жыл бұрын
commenting four years late but thanks dude this was massively helpful
@GaryExplains
@GaryExplains 2 жыл бұрын
You're welcome!
@DavidBarnwell876tkdja
@DavidBarnwell876tkdja 2 жыл бұрын
I'm getting some strange output. I'm getting 5 outputs. The first gives the value 2, then, values of the other array elements (all 0) then the fifth value is the memory location of the last element. Then, it repeats with 2, hen, 4, then zeros, until it prints the memory address of the last location. This happens 5 times until the array has been completely filled. It's weird ..I can't see what could lead to that behaviour, Never mind..I had the second for loop enclosed inside the first..that was the problem. It's all good now.
@Dish.Washer
@Dish.Washer 3 жыл бұрын
@7:49 Isn't saying somenumber[5] going out of the array?
@xiajack1507
@xiajack1507 3 жыл бұрын
the for loop terminayion condition is ptr
@TheTestr
@TheTestr 4 жыл бұрын
The confusing part is that you use * to tell C that a variable is a pointer. But when you want to save something in this variable you use & to get an adress and * to get a value. I do not understand, why it is not the other way around..
@fazp
@fazp Жыл бұрын
this video made sense for me and it gave me an idea what a pointer really is to my small brain 😂
@radddish
@radddish 6 жыл бұрын
thanks gary that helped a lot !
@CaptainWumbo
@CaptainWumbo 3 жыл бұрын
it would be nice if you explained why you would want to use a pointer over access by index. Is it more efficient in some way? It looked to require a bit more knowledge to read. I never did anything with C before, so the only value I can intuit is that passing a pointer to a function can save copying the value in cases a copy doesn't help. It's not clear from the video why you would prefer to deref a pointer over using a variable directly.
@GaryExplains
@GaryExplains 3 жыл бұрын
Well, why you would use pointers is different to how. This video is how. Check out my video on linked lists for an example of why.
@lihanou
@lihanou 5 жыл бұрын
concise, straight to point, thanks
@supergoofy123
@supergoofy123 6 жыл бұрын
Thank you. We need more videos like this.
@GaryExplains
@GaryExplains 6 жыл бұрын
I will certainly do more programming videos including C and Python. However they aren't the most popular type of video, so I will only be able to do them from time to time.
@dutoitvandyk2531
@dutoitvandyk2531 6 жыл бұрын
well done, really well done. Can you please continue to teach C in such a understandable way.
@GaryExplains
@GaryExplains 6 жыл бұрын
I am glad you liked it. I will certainly do more C tutorials from time to time, but my only concern is that they don't seem that popular.
@dutoitvandyk2531
@dutoitvandyk2531 6 жыл бұрын
i can see that from the views, I feel like there is so little interest in C because it is quite a difficult language to learn, especially as a first language. Its my first language I am learning but only because it's a module i have too finish for my degree . I would personally like to learn python first, love the language and the simplicity. I have learned a lot in this video and used it to do one of my tutorials. I've spent about 3 days now trying to figure out how to assign new values to an array and keep the memory addresses. Then it needs to give the new values for the array and the addressees. Just can't seem to get it right..... The fact that the C videos are so unpopular might actually have to do with the fact that no-one is interested in learning it as a first language and because of the immense lack of useful videos on it, which is kind of a vicious cycle.
@arunsc37
@arunsc37 3 жыл бұрын
Thank you this is 30x better than my prof
@raphtlw
@raphtlw 5 жыл бұрын
Hey Gary, can you do a video on the difference between C and C++ and C#? Thanks for these awesome videos!
@GaryExplains
@GaryExplains 5 жыл бұрын
Hmmm, that could be an interesting video... thanks for the idea.
@raphtlw
@raphtlw 5 жыл бұрын
@@GaryExplains ❤️❤️❤️❤️ I honestly can't believe you replied
@nouramsaeed
@nouramsaeed 10 ай бұрын
I really appreciate ur effort
@GaryExplains
@GaryExplains 10 ай бұрын
Thank you so much 😀
@suma4m
@suma4m 6 жыл бұрын
3:00 Why does this: {int *aptr = &x;} and this: {int *aptr; aptr = &x;} give the same result? Why the asterisk can be placed both before variable name or after the type name?
@GaryExplains
@GaryExplains 6 жыл бұрын
{int *aptr = &x;} is a short form of {int *aptr; aptr = &x;} In the first the pointer is declared and initialized in one swift move. In the other the pointer is declared and then initialized in a second statement.
@filker0
@filker0 5 жыл бұрын
As for why "int* ptr;" is the same as "int *ptr;", the space is not required by the language syntax. The type of the variable "ptr" is "int *", read as "pointer to integer".
@canaDavid1
@canaDavid1 4 жыл бұрын
One thing that frustrates me in c/c++ is how a pointer is made. Ie Char *ptr = &x; But as i have understood it, * dereferences the pointer. (And & tells us the adress of it). This code seems to suggest that in wherever ptr points, write address of x. But what it means is to write &x at ptr, no dereferencing. Therefore, I always write 'char* ptr' with the * before the space, to clarify this. Is this an oversight or am I just being silly? (My format is a problem if you are doing multiple variables: 'char* a,* b' should be 'char* a,b' in my opinion)
@GaryExplains
@GaryExplains 4 жыл бұрын
Yes, lots of people have the very same issue and they write the * to the left as you. For me it has never been as issue, because it only occurs when doing a variable declarations, so you just learn it for what it is.
@canaDavid1
@canaDavid1 4 жыл бұрын
@@GaryExplains Well that's a quick reply! Nice to know I am not the only one.
@Jool4832
@Jool4832 2 жыл бұрын
Unrelated question: what's the name of the music you're playing for this video?
@willd9807
@willd9807 2 жыл бұрын
How did you get it to compile without return 0;
@filker0
@filker0 5 жыл бұрын
There's so much more that can be covered with respect to pointers. Passing by reference, linked lists, dynamic allocation, struct pointers, function pointers, and using pointers with array syntax. Also, sizeof(ptr) vs sizeof(*ptr). Understanding pointers is essential to sophisticated C programming, and correct use of pointers is essential for robust and bug free code.
@GaryExplains
@GaryExplains 5 жыл бұрын
Yes, of course. This is an introduction video.
@Abdulrahman-uk9ny
@Abdulrahman-uk9ny 6 жыл бұрын
Thanks a lot for the very good explanation. I am about to enter the final exam of C in college... I didn't understand the language well, but I may pass the exam... I think I need to study the C language again in detail.. please make a whole tutorial for C language.
@volkerking5932
@volkerking5932 4 жыл бұрын
Hello Gary one question about the first => for(;ptr < &somenumbers[5]; ptr++) I know that the pointer is at the start of this "for" on the correct point but where is this? you write => for(; - what is normal between the '(' and the ';' I make a attempt => for(ptr = &somenumbers; ptr < &somenumbers[5]; ptr++) {.... but my start condition follow by an error what is the correct start position of the pointer?
@GaryExplains
@GaryExplains 4 жыл бұрын
The first section is for initialisation. Your test was almost right, but should be "for(ptr=somenumbers;..." You don't need the & as an array is a pointer to itself. You could also do "for(ptr=&somenumbers[0];..."
@volkerking5932
@volkerking5932 4 жыл бұрын
​@@GaryExplains what I understand now = after making a error 'int somenumbers[5]; int *ptr = &somenumbers; - A array[5] is a hardware address itself! after initial a array[5] it is not need to say this is a addr in the RAM I only can say int *ptr = somenumbers; and this will accept it as a arrays first addr inside the RAM or where else. My pointers are xh,xl yh,yl and zh,zl over R0 :-) I only know how to program in assembler and this 'C' is only for lazybones - reason you never need to manage the vectors itself that is doing the compiler and not your brain. hahaha Super I learning again the 'C'! Thank you Gary! Best Regards Volker from vienna
@GaryExplains
@GaryExplains 4 жыл бұрын
@@volkerking5932 For arrays only, the array name without square brackets is always the address of element 0. So 'somenumbers' is the same as '&somenumbers[0]'
@volkerking5932
@volkerking5932 4 жыл бұрын
@@GaryExplains I see - wow that is a little bit complicated for me in the start sequence. I understand it I come from the assembler language but my story is harsh. I've be in the hospital in 2017 and my pancreas is died inside my body. The hospital send me for 61days to deep sleep comma and in sum it was 128days hospitalized. But that was hard and I loose all my knowledges/skills inside my brain so I must learn all again. I can't remember what I've done before my visit in the hospital? I learn now from 2017 September to calculate - yes I must learn mathematics and reading/writing that was also a bit hard for me to understand - ironical the assembler programming I don't forget but that I have had a wife and children that I can't remember. After this hospital they told me I've a family - I can't remember it. The people of my family was foreign for me and I can't live with the woman again so I leave her. She was a foreign person for me I can't remember nothing about us. No pictures and no feelings that was missed after this hospitalization. In case of the hard medication they gave me inside the intensive care I lost all data in brain from 2007 - 2017. I remember only things that far away in the time line. For example I remember back in the 80s very good and my learning time at Grundig (TV & Videorecorder Company). I must say thank you very much to you and I like this Video. Best Regards Volker from vienna thumbs up Nr. 4964
@wedsonlopes2559
@wedsonlopes2559 6 жыл бұрын
please, do more classes like that!I am now subscribed.
@viniciusleitecosta
@viniciusleitecosta 3 жыл бұрын
Greetings from Brazil!
@grasshopperweb
@grasshopperweb 5 жыл бұрын
What about constant pointers? My text goes through them far too fast and I don't fully understand lines like int const * const pointer = &adr;
@RushilKasetty
@RushilKasetty 5 жыл бұрын
When reading const, read from right to left instead of left to right. So, the pointer variable is a "constant pointer to a constant int". This means that after creating the pointer, you won't be able to change which object it points at, and you won't be able to modify the object it's currently pointing at. The first const (as in int const) means that the thing the pointer is pointing at can't be modified. The second const (as in const pointer) means you cannot change what object the pointer points to.
@grasshopperweb
@grasshopperweb 5 жыл бұрын
@@RushilKasetty thank you very much! Clear explanation
@galvanizeddreamer2051
@galvanizeddreamer2051 3 жыл бұрын
Finally, someone explaining what something is.
@jadenlorenc2577
@jadenlorenc2577 5 жыл бұрын
Dang this guy does a really good job
@johng7rwf419
@johng7rwf419 5 жыл бұрын
That took me back more than 30 years..
@redrock9319
@redrock9319 6 жыл бұрын
Straight from 90's!
@ProductionCowbell
@ProductionCowbell 2 жыл бұрын
Very informative video 👌
@jacobhansen3871
@jacobhansen3871 3 жыл бұрын
Great explanation
@GaryExplains
@GaryExplains 3 жыл бұрын
Glad it was helpful!
@JadedBeast
@JadedBeast 6 жыл бұрын
Cool logo you have there , and thanks for making this video
@davidpotesta
@davidpotesta 5 жыл бұрын
I get a compilation error if I try printf("aptr is %x ",aptr); The compiler (correctly) tells me that aptr is a *int. To print the HEX address of what aptr points to I need to use the format specifier for a pointer which is %p and use this: printf("aptr is %p ",aptr); and it works. I guess my question is, why did your program compile with a format specifier that mine does not?
@GaryExplains
@GaryExplains 5 жыл бұрын
Yeah, my version is wrong. It depends on the compiler and the platform, I guess.
@davidpotesta
@davidpotesta 5 жыл бұрын
@@GaryExplains Thanks for the quick reply and for verifying that I wasn't crazy. Thanks for all of your great videos!
@lukenukem8028
@lukenukem8028 4 жыл бұрын
Pretty cool. But, what is that primitive program you're using, and primitive OS? Is it like a DOS legacy inspired thing for certain people? I need to see my project structure, seriously, all files, etc.
@GaryExplains
@GaryExplains 4 жыл бұрын
I tell you what I am using at 1:42
@lukenukem8028
@lukenukem8028 4 жыл бұрын
Oh, I def heard the pie and nano. Is the pie a computer, or OS on a computer, is it a console, terminal? Others use Sublime for C so I'm guessing Nano is something required for use on Raspberry Pie?
@lukenukem8028
@lukenukem8028 4 жыл бұрын
I heard it, but it doesn't tell me anything. LoL
@GaryExplains
@GaryExplains 4 жыл бұрын
@@lukenukem8028 It seems you are missing some fundamentals here. I have videos covering just about every question you asked here. The comments section isn't the place for me to fill in the gaps for you.
@lukenukem8028
@lukenukem8028 4 жыл бұрын
This is the first video of yours I've seen. I'm only asking what R.Pie and Nano are.
@nousernamealexander
@nousernamealexander 4 жыл бұрын
I still can't explain pointers by myself. I still can't understand where I need to put a pointer when I am doing an exercice. Do you have some exercices to help me ?
@throwitatthewall6289
@throwitatthewall6289 2 жыл бұрын
Understanding pointers was pretty easy from this. What I fail to see is why it is better than just referencing the variable.
@GaryExplains
@GaryExplains 2 жыл бұрын
If you had a 4MB image and you wanted to apply a filter, would you pass the 4MB variable to the filter function (which means allocating another 4MB and copying the image) and then return another 4MB (with allocation and copy). Or just pass the few bytes needed for the pointer?
@manobrodeful
@manobrodeful 3 жыл бұрын
Very well done, thank you very much.
@mbunds
@mbunds 5 жыл бұрын
Thank you Gary!
@santosshresth4419
@santosshresth4419 4 жыл бұрын
love your contents here can u make a video explaining the digital ciruit realization of how pointer works?
@ammaribrahim5756
@ammaribrahim5756 6 жыл бұрын
what assign addresses to memory locations such as bea54240? is it the bios?
@GaryExplains
@GaryExplains 6 жыл бұрын
It depends. If the pointer is a local variable then the compiler will get the address from either the heap or the stack. If malloc() is being used then the address comes from the OS.
@ammaribrahim5756
@ammaribrahim5756 6 жыл бұрын
@@GaryExplains Thank you for your effort and your awesome videos... Mr.Gary......
@yapayzeka
@yapayzeka 4 жыл бұрын
behind you what is the type of pointer pointing :D
@consciousness147
@consciousness147 4 жыл бұрын
brilliant! love how you made this video , thanks :)
@c0ldw1nd27
@c0ldw1nd27 4 жыл бұрын
I already knew everything, but I still watched the whole video.
@josh429
@josh429 6 жыл бұрын
Gary could you explain make and makefiles please?
@GaryExplains
@GaryExplains 6 жыл бұрын
That is a good idea... I will add it to my TODO list.
@josh429
@josh429 6 жыл бұрын
thanks
@dev-patel
@dev-patel 5 жыл бұрын
I cant initialize in the middle of code I have to initialize any variable at in start? how can you do ?
@benediktbeck3987
@benediktbeck3987 5 жыл бұрын
Really helpful, thank you Sir!
you will never ask about pointers again after watching this video
8:03
Programming Loops vs Recursion - Computerphile
12:32
Computerphile
Рет қаралды 1,5 МЛН
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
She made herself an ear of corn from his marmalade candies🌽🌽🌽
00:38
Valja & Maxim Family
Рет қаралды 18 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Master Pointers in C:  10X Your C Coding!
14:12
Dave's Garage
Рет қаралды 337 М.
2 Years Of Learning C | Prime Reacts
22:24
ThePrimeTime
Рет қаралды 323 М.
POINTERS in C++
16:59
The Cherno
Рет қаралды 1 МЛН
21:Everything u need 2 know about pointers -Richard Buckland
48:29
UNSW eLearning
Рет қаралды 537 М.
array vs &array Pointers Difference Explained | C Programming Tutorial
17:38
Essentials: Pointer Power! - Computerphile
20:00
Computerphile
Рет қаралды 467 М.
Zig for Impatient Devs
9:48
Isaac Harris-Holt
Рет қаралды 110 М.
Why C is so Influential - Computerphile
10:50
Computerphile
Рет қаралды 1,9 МЛН
31 nooby C++ habits you need to ditch
16:18
mCoding
Рет қаралды 845 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН