When a function requires a pointer as an argument, what it really needs is an address. To pass a pointer to a function, you can use a pointer variable or use the ampersand operator to pass the address of any variable. Within the function, a pointer, or address, passed is treated as a pointer: it's a memory location or, with the asterisk operator, it's the value at that location. By passing pointers to a function, your code can manipulate values directly without having to return them.
- When you pass a pointer to a function … you're passing its address, the memory location … stored in the pointer. So a function … that accepts a pointer is an argument. … Accepts a variable's address in memory. … In this exercise files, integer variable A … is initialized to two at line ten. … Its address is passed to the doubler function … in line 13. You see the ampersand … address of operator. And then, in the function, … no value is returned. But within the function, … the value at the address is doubled. Build and run. … And the value is modified without being returned. … That's because the doubler function … is able to modify the value indirectly … through its address. In this code, … pointer A is passed directly to the doubler … function at line 15. No ampersand … is needed 'cause it's a pointer. … Pointers must be initialized before they're used. … So variable A is assigned to the address … of variable B in line 13. Build and run. … And the value is doubled. … Passing pointers is one way you can return …
Author
Released
5/1/2019- Working with arrays
- Building a structure
- Creating an array of structures
- Testing characters
- Working with strings in C
- Using pointers to manipulate data
- Manipulating files
- Using command-line arguments
- Working with time functions
Skill Level Intermediate
Duration
Views
Related Courses
-
Learning C
with Dan Gookin3h 16m Beginner -
C Essential Training: 1 The Basics
with Dan Gookin2h 31m Beginner -
Code Clinic: C
with Dan Gookin1h 7m Intermediate
-
Introduction
-
Using the exercise files1m 23s
-
Configuring the IDE2m 34s
-
1. Arrays and Structures
-
Understanding arrays2m 59s
-
Working with arrays3m 5s
-
Modifying arrays3m 11s
-
Building a structure3m 23s
-
Nesting structures2m 56s
-
Understanding a union2m 47s
-
-
2. Characters and Strings
-
Testing characters2m 34s
-
Fetching string input3m 18s
-
Sending string output2m 46s
-
Using printf() placeholders3m 36s
-
Exploring string functions3m 29s
-
Manipulating strings3m 53s
-
Avoiding string problems2m 27s
-
3. Pointers
-
Understanding pointers3m 19s
-
Doing pointer math2m 57s
-
Allocating storage3m 15s
-
Working with a pointer array3m 38s
-
Using pointers in structures3m 30s
-
Returning pointers2m 39s
-
-
4. Files and the Operating System
-
Reading from a file3m 25s
-
Writing to a file3m 24s
-
Working with raw data2m 53s
-
Using random file access2m 47s
-
Manipulating files2m 57s
-
Exploring the path2m 8s
-
Reading a directory2m 53s
-
Getting file information2m 46s
-
Using command line arguments2m 44s
-
Calling the operating system2m 46s
-
-
5. The Interesting and Extraordinary
-
Solving math puzzles3m 32s
-
Creating random numbers3m 42s
-
Working with time functions3m 54s
-
Sorting data4m 8s
-
Using a debugger4m 53s
-
Writing your own header file2m 53s
-
Challenge: Lotto simulation1m 18s
-
Solution: Lotto simulation2m 29s
-
-
Conclusion
-
Next steps1m 52s
-
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.
CancelTake notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.
Share this video
Embed this video
Video: Passing pointers to functions