C pointers explained👉

  Рет қаралды 157,109

Bro Code

Bro Code

Күн бұрын

C pointers tutorial example explained
#C #pointers #tutorial
void printAge(int *pAge)
{
printf("You are %d years old
", *pAge); //dereference
}
int main()
{
// pointer = a "variable-like" reference that holds a memory address to another variable, array, etc.
// some tasks are performed more easily with pointers
// * = indirection operator (value at address)
int age = 21;
int *pAge = &age;
printAge(pAge);
//printf("address of age: %p
", &age);
//printf("value of pAge: %p
", pAge);
//printf("size of age: %d bytes
", sizeof(age));
//printf("size of pAge: %d bytes
", sizeof(pAge));
//printf("value of age: %d
", age);
//printf("value at stored address: %d
", *pAge); //dereferencing
return 0;
}

Пікірлер: 146
@mindlessmeat4055
@mindlessmeat4055 Жыл бұрын
Anytime I need to know something about programming, your channel is the first one I look for.
@HiiImChris
@HiiImChris Жыл бұрын
Just some advice.to truly understand this concept is a thorough way to apply it to your programs, I think it's best to take it slow. Don't feel bad, in my lecture I slowly and methodically took notes for hours on a 30 minute video to grasp the idea as a noob. It's ok to take your time, not all of us are coding gods. The only objective you should have is understanding it, and for each person that learns differently it's going to take varying time. As long as you come out with the knowledge, than your knowledge is just as effective as anybody elses.
@SK-ow4vw
@SK-ow4vw Жыл бұрын
I think that the conceptual problem about pointers begins much earlier than you might imagine. For example, let's take 'int age = 21" You said the integer 'age' has a value 21 AND an address. I then could easily say "well it also has a name 'age'. So now my question would be 'where is the string 'age' stored, where is the 'address' stored and where is the value stored.' Then I would ask 'how do you get to the actual integer value from the string 'age'? Surely to humans the string 'age' IS A POINTER to the value 21. So there is even confusion BEFORE one starts speaking about 'normal' pointers. As far as I understand it the compiler completely removes any reference to the string 'age'. Does it therefore replace the string 'age' in assembly code with the address where we can find the value 21? If so, the address that appears in the machine code IS A POINTER also to the value 21. Unfortunately we now don't have a name for it. So this whole issue for some of us needs to be cleared out of the way first before we can even start to talk about pointers. So in a nutshell: we need to know precisely what happens to the string 'age' in machine code.
@sueyourself5413
@sueyourself5413 Жыл бұрын
@@SK-ow4vw No, no we don't. It's a reference of text, not a string.
@onlyeyeno
@onlyeyeno Жыл бұрын
@@sueyourself5413 I believe You actually strengthened "*Sk-ow4vw*"s argument, by seemingly missing his point... As I read his comment, the "issue" is not if the "variable-name" (age) is a string or some other "datatype". Rather according to Sk-ow4vw the "crux" of this is the fact that when describing (and thinking about" the "concept of a variable", it has both and address, a value (held at that address) AND a "variable-Name". And so when explaining Pointers in a way that totally neglects to even mention the "handling and destiny" of the "variable name" You risk to "loose/confuse" people who think that "one step further". At least that's how I read SK-ow4vw's comment. Best regards.
@tybargky461
@tybargky461 Жыл бұрын
As a CS major @ Virginia Tech, you have blessed me with a foundation that builds my confidence!
@tybargky461
@tybargky461 Жыл бұрын
@@d0ubleyouteef You go to tech?
@dinnersandvich9329
@dinnersandvich9329 Жыл бұрын
@@d0ubleyouteef what?
@BroCodez
@BroCodez 2 жыл бұрын
#include void printAge(int *pAge) { printf("You are %d years old ", *pAge); //dereference } int main() { // pointer = a "variable-like" reference that holds a memory address to another variable, array, etc. // some tasks are performed more easily with pointers // * = indirection operator (value at address) int age = 21; int *pAge = &age; printAge(pAge); //printf("address of age: %p ", &age); //printf("value of pAge: %p ", &pAge); //printf("size of age: %d bytes ", sizeof(age)); //printf("size of pAge: %d bytes ", sizeof(pAge)); //printf("value of age: %d ", age); //printf("value at stored address: %d ", *pAge); //dereferencing return 0; }
@giaminhpham2281
@giaminhpham2281 2 жыл бұрын
can you make another code that use cin, cout pleaseee
@spooders8943
@spooders8943 2 жыл бұрын
this was the clearest way someone has ever explained pointers to me. thanks
@user-vg7pn7ke9d
@user-vg7pn7ke9d 7 күн бұрын
This is super descriptive!
@katarinaclaes2975
@katarinaclaes2975 5 ай бұрын
nice explanation, your tips on what's good practice makes it way easier to understand
@jesuschrist2029
@jesuschrist2029 29 күн бұрын
I watched several videos few months ago and did not understand a single thing, I happen to stumble across this video I completely understood everything thanks bro
@LieutenantButtonMasher
@LieutenantButtonMasher 2 ай бұрын
Mental notes: 1) You declare a pointer by succeeding the data type in the variable declaration with an asterisk *. eg: int *p = NULL; 2) You can get the address of a variable by preceding it with an ampersand &. eg: '&age' gets the address to the variable age and can be stored in a pointer type variable. 3) To dereference a pointer you precede it with an asterisk in order to access the value at the stored address. 4) Always good to assign NULL to a pointer that doesn't yet have a value assigned to it.
@finndemoncat9379
@finndemoncat9379 Ай бұрын
Pointers are life. There are many tricks using pointers and strings along strstr and strrch. If you use any of these functions to return a pointer with the ocurrence of x string you can subtract it of the original array and get the number of chars.
@abhishekmaurya8330
@abhishekmaurya8330 2 жыл бұрын
Awesome sir keep it up. You have nice way of explanation
@provokator-provocateur7603
@provokator-provocateur7603 2 жыл бұрын
Great video. Can you make video about void pointers, array pointers, struct pointers as well?
@finndemoncat9379
@finndemoncat9379 Ай бұрын
Void pointers don't have a data type reference. You can store any type of data in it and convert to other data type. Struct pointers work just like a struct variable, the main difference it's the syntax. You can also use it to dinamicaly alocate memory to create an array of pointers. I don't know what you mean by array pointer, but you can do as like (*ptr = x[y]) and it will show either the value of it or function as a substring.
@joevaghn457
@joevaghn457 5 ай бұрын
I've never really grasped why pointers are somehow really hard to understand for some people. I'm not trying to be condescending. I'm really not! It's literally a memory address. There's nothing more to think about other than type casting pointers and pointer arithmetic, imho. When using pointers, all your doing is working with the address of something that exists somewhere else in memory. Good video tho, it was really useful. I honestly find useful
@Stvbcn
@Stvbcn 4 ай бұрын
As a beginner my issues with understanding have been: - Why the need to define the type of the underlying value if we are always talking about its address? - Why confusingly re-use the asterisk for different, but associated purposes.
@joevaghn457
@joevaghn457 4 ай бұрын
@@Stvbcn ah, So the type-of-pointer thing is so that the compiler knows how many bytes to advance the pointer ( pointer arithmetic: ++, +=, etc ). The reuse-of-asterisk is just for declaration. All I care about is if the asterisk is on value, it’s a dereference, if it’s on a declaration, then it’s a pointer. I hate dealing with multidimensional pointers beyond 3 levels. That stuff is extreme lol
@PSIwolf39
@PSIwolf39 7 ай бұрын
Here's some code I wrote using pointers: #include #include #include #include #include #include #include void addition(int firstNumber, int secondNumber, int *pResult){ *pResult = firstNumber + secondNumber; } int main(){ int firstNumber = 20; int secondNumber = 39; int result; int* pResult = &result; addition(firstNumber,secondNumber,pResult); printf("%d+%d=%d",firstNumber,secondNumber,result); }
@NataKami21
@NataKami21 Ай бұрын
Bro code --> The best lecturer ❣
@salih.karahan
@salih.karahan 2 жыл бұрын
Elhamdülillah 🤲🏻🤲🏻 I found one video that isn't hindi english accent
@shavilagt1072
@shavilagt1072 Жыл бұрын
hocam öğrendiniz mi c'yi?
@SHOURYAAAA
@SHOURYAAAA Жыл бұрын
Lmao. The problem is with you. I wont blame Indian people just because hindi is their language and are better at programming than the people of your country.
@diversiontv777
@diversiontv777 Жыл бұрын
I hate hindi
@OMNI_INFINITY
@OMNI_INFINITY Жыл бұрын
Haha. Translation: Found a video that is trustworthy.
@burstfireno1617
@burstfireno1617 7 ай бұрын
😅
@omarabbas6541
@omarabbas6541 Жыл бұрын
bro , you deserve more than like , comment and subscribe. You are amazing mashaAllah
@stephensagarinojr.4170
@stephensagarinojr.4170 Жыл бұрын
I would really be glad if you'd make a video about double pointers. Many videos are on youtube but it hard to understand it. and when I watch your videos, I can understand it easily. I am so thankful for all the tutotiral you made
@A1cJ121
@A1cJ121 8 ай бұрын
A double pointer is essentially a pointer that holds the value of the memory address of another pointer. int x= 5; int *pX = &x; int **pPX = &pX;
@vesnapezer683
@vesnapezer683 4 ай бұрын
I love you seriously
@tyvan5973
@tyvan5973 2 ай бұрын
Thank for your sharing!
@ajitghising8112
@ajitghising8112 6 ай бұрын
You cleared my mind about pointer with one view. Thanks a lot. I will be coming to check more videos from your channel. I’m learning c atm. Really appreciate man 🎉
@preethi2802
@preethi2802 6 ай бұрын
Finally got a clear insight into what all these denotations in pointers mean. Thanks a ton, bro
@barsceylan4559
@barsceylan4559 Жыл бұрын
Dude wtf!! You are a savior !!
@FrancisAlexanderWood0
@FrancisAlexanderWood0 Ай бұрын
Wanted to watch your video in the background and got caught up. Thank you
@justiceessiel6123
@justiceessiel6123 7 ай бұрын
I have understood golang pointers by understand C pointers
@banlmao1707
@banlmao1707 Ай бұрын
can you make a video on how you get c to output cleanly like yours on visual studio?
@brahimkazzi5281
@brahimkazzi5281 3 ай бұрын
Thank you bro best course
@juliannafotheringham7101
@juliannafotheringham7101 Жыл бұрын
great explanation, very clear, thank you!
@Jordan-qi2dn
@Jordan-qi2dn 2 ай бұрын
This channel is good, but I think you need to structure your videos better. What I mean is that you should do a better job of separating the examples you do instead of editing previous examples for the next ones for the sake of better comprehension. More comments would also be helpful to understand what exactly you're trying to convey. Thanks for teaching me python and C though!
@NNNedlog
@NNNedlog 2 жыл бұрын
your vids are always easy to follow along. Thanks a lot
@advance6846
@advance6846 3 ай бұрын
r you black gojo
@tylersantiago3810
@tylersantiago3810 10 ай бұрын
bro, idk who you are, I don't know where you've been, idk what you do, but thank you, I love you 3000. I just watched this video and understood everything about pointers. It took my professor 3 class sessions to do so and I still didn't get it.
@accumulator4825
@accumulator4825 Жыл бұрын
Could you do a Scala series? That'd be so cool
@seyhaseng1077
@seyhaseng1077 2 жыл бұрын
It would be awesome if u teach or solve the problems of languages
@literalspam6894
@literalspam6894 Ай бұрын
had to watch this vid a couple times before i got it, very good explanation
@14Elijah
@14Elijah 3 ай бұрын
I prayed 😇🙏
@Frozenflames-si8ch
@Frozenflames-si8ch 4 ай бұрын
good
@Harshi998i
@Harshi998i 2 ай бұрын
best info on pointers out there ,
@SleepyAizawa69
@SleepyAizawa69 4 ай бұрын
Hey bro thank you for your smooth well explained videos!❤
@sanjaykannan4549
@sanjaykannan4549 Жыл бұрын
top G
@Jordan-qi2dn
@Jordan-qi2dn 2 ай бұрын
In the example where you compare the sizes of the int variable and the pointer variable, why is the pointer 8 bytes and the age variable 4 bytes? Is the pointer variable larger due to it being a hexadecimal?
@NoufM-ls2pv
@NoufM-ls2pv Ай бұрын
I love you
@naveenkumar1853
@naveenkumar1853 8 ай бұрын
Excellent😊😊😊
@spencersedano
@spencersedano Жыл бұрын
In what situations should I use pointers?
@RJ-or8bw
@RJ-or8bw 10 ай бұрын
If you need to use a lot of memory that’s not standard size. If you have a struct that contains a lot of different data types, you would use a pointer to this huge chunk of data to get it all.
@jamesharland3727
@jamesharland3727 Жыл бұрын
This is really clear, thank you! Got me though a mental block I was having on Codecademy
@Jashwanth.G
@Jashwanth.G Ай бұрын
Did bro said sit BACK relax and enjoy just like tharun kumar the fitness KZbinr
@ameenalrawbdeh767
@ameenalrawbdeh767 2 ай бұрын
i love you
@eeneemeenee6236
@eeneemeenee6236 Жыл бұрын
You're awesome bruh
@michiDerMatt
@michiDerMatt 3 ай бұрын
The size of the pointer depends on if its running on 32 or 64 bit architecture right?
@nocpich
@nocpich 6 ай бұрын
thanks! it helped me a lot
@OMNI_INFINITY
@OMNI_INFINITY Жыл бұрын
Would have been good to include a proper function and call. That was reason watched. Sigh…
@aymanbou4847
@aymanbou4847 8 ай бұрын
The best
@ucheogordiunor4020
@ucheogordiunor4020 8 ай бұрын
Great video,can you make video on creating a simple shell in C
@ironmonkey1990
@ironmonkey1990 5 ай бұрын
very nice
@pratiknvlogs
@pratiknvlogs Жыл бұрын
Which compiler and IDE is best to practice programming
@icantthinkofaname5558
@icantthinkofaname5558 Жыл бұрын
i use visual studio and mingw64 for C
@lookwithme3083
@lookwithme3083 2 жыл бұрын
I have a question how can somebody make so amazing hell videos.
@redmor
@redmor 2 жыл бұрын
thanks bro
@krateskim4169
@krateskim4169 11 ай бұрын
nice video
@tushar8983
@tushar8983 Жыл бұрын
way too underrated
@miltonestepario
@miltonestepario Ай бұрын
thank you Bro!!!!
@hakant.5806
@hakant.5806 7 ай бұрын
Pretty useful
@ahiamatagabriel5696
@ahiamatagabriel5696 2 жыл бұрын
Thank You.
@izawasinsie55
@izawasinsie55 5 ай бұрын
U saved me in exams
@shervin9561
@shervin9561 7 ай бұрын
Thanks
@issker8840
@issker8840 Жыл бұрын
thx!
@gustavo-rios
@gustavo-rios Жыл бұрын
This is a comment for the youtube algorithm
@Nathan00at78Uuiu
@Nathan00at78Uuiu 7 ай бұрын
love being a fellow bro.
@danielndobe1257
@danielndobe1257 Жыл бұрын
awesome
@frzy970
@frzy970 9 ай бұрын
thanks😄
@boyar3033
@boyar3033 7 ай бұрын
Thanks Biggus Chaddus
@danegaming9080
@danegaming9080 9 ай бұрын
nice
@Atomos_tech
@Atomos_tech Жыл бұрын
Thanks for the video, but there is something I am wondering about why the address is changing always when I restart the program !?
@heyaglitz
@heyaglitz Жыл бұрын
It's because your program won't always get assigned the same range of memory by Windows, it's normal and it's intended to be like that.
@Atomos_tech
@Atomos_tech Жыл бұрын
@@heyaglitz OK, thank you
@giaminhpham2281
@giaminhpham2281 2 жыл бұрын
This video is great.
@user-tp8gj6fu3n
@user-tp8gj6fu3n 10 ай бұрын
love this
@stutikalan8265
@stutikalan8265 8 ай бұрын
I told my dad that I was taking a C programming course.... He offered to give me some pointers
@bhoumik911
@bhoumik911 8 ай бұрын
letsgo
@DelilBalci
@DelilBalci 7 ай бұрын
Brooo... This channel is absolutely great!
@altprsn6929
@altprsn6929 11 ай бұрын
Thank you!
@fadiloumarou8280
@fadiloumarou8280 2 жыл бұрын
if we declare the pointer as int *pAge; then pAge = &age does the compiler consider *pAge as a null value?
@dotcomwhiz
@dotcomwhiz 2 жыл бұрын
nope it will assign an arbitrary integer at that address
@dumcatgaming
@dumcatgaming 8 ай бұрын
yea im still confused
@Garrison86
@Garrison86 2 жыл бұрын
Leaving a random comment down below.
@tybargky461
@tybargky461 Жыл бұрын
I LOVE YOU
@SoloRush-hl8jv
@SoloRush-hl8jv Жыл бұрын
hey ya bro
@orangejuice7247
@orangejuice7247 Жыл бұрын
it entered uncharred territory im WHEEZING
@psyferinc.3573
@psyferinc.3573 5 ай бұрын
sanks here's a comment.
@randerins
@randerins Жыл бұрын
Looks like heavy depression.
@hoyorkilleader6021
@hoyorkilleader6021 Жыл бұрын
Mitico!
@czsani1787
@czsani1787 4 ай бұрын
@entropic7768
@entropic7768 6 ай бұрын
2nd time its really clicking for me, probably going to have to relearn this like 20 times lmao
@sedoxly9633
@sedoxly9633 Ай бұрын
luv you bro🤍
@nickpantsios703
@nickpantsios703 6 ай бұрын
@zer0k4ge
@zer0k4ge 8 ай бұрын
Makes sense but I bet it’s difficult to apply
@jaajmer1924
@jaajmer1924 9 ай бұрын
amen
@user-fh1mx6pz3r
@user-fh1mx6pz3r 2 ай бұрын
why didnt you go through memory management
@pintertenan8057
@pintertenan8057 10 ай бұрын
From a bro
@user-fh1mx6pz3r
@user-fh1mx6pz3r 3 ай бұрын
i still dont understand the use case..
@user-fh1mx6pz3r
@user-fh1mx6pz3r 2 ай бұрын
why didnt u explain memory management
@rafo21pe
@rafo21pe 9 ай бұрын
this video was quite difficult to understand
@sandersnolan6895
@sandersnolan6895 2 жыл бұрын
一直觉得挺难理解的,大一的C语言期末考还挂了,hh
@czsani1787
@czsani1787 4 ай бұрын
❤❤❤❤❤❤❤❤❤❤💕💕💕💕💕💕💕💕💕💕💕💕💕💕💕💕❤❤
@knangurbanov2957
@knangurbanov2957 Жыл бұрын
r u 21 years old?
C writing files✍️
4:20
Bro Code
Рет қаралды 43 М.
POINTERS in C++
16:59
The Cherno
Рет қаралды 1 МЛН
Пройди игру и получи 5 чупа-чупсов (2024)
00:49
Екатерина Ковалева
Рет қаралды 1,5 МЛН
UNO!
00:18
БРУНО
Рет қаралды 4,5 МЛН
Master Pointers in C:  10X Your C Coding!
14:12
Dave's Garage
Рет қаралды 297 М.
Pointers and dynamic memory - stack vs heap
17:26
mycodeschool
Рет қаралды 1,4 МЛН
Call By Value & Call By Reference in C
8:34
Neso Academy
Рет қаралды 1,3 МЛН
How to NOT Fail a Technical Interview
8:26
Fireship
Рет қаралды 1,4 МЛН
you will never ask about pointer arithmetic after watching this video
8:01
Low Level Learning
Рет қаралды 239 М.
C bitwise operators 🔣
6:47
Bro Code
Рет қаралды 71 М.
Introduction to Pointers | C Programming Tutorial
24:42
Portfolio Courses
Рет қаралды 108 М.
why do void* pointers even exist?
8:17
Low Level Learning
Рет қаралды 351 М.
Please Master These 10 Python Functions…
22:17
Tech With Tim
Рет қаралды 129 М.
Essentials: Pointer Power! - Computerphile
20:00
Computerphile
Рет қаралды 463 М.
ПОЧЕМУ МИКРОФОНЫ ИГРОВЫЕ? 🧐
0:46
KEKTAR
Рет қаралды 304 М.
Первый взгляд на Pixel 9 / 9 Pro / XL
21:01
Rozetked
Рет қаралды 631 М.