Working with Pointers
Using the reference operator & and the dereference operator *, we can create and work with pointers.
A pointer is a data type, just like int, char, or double.
The pointer is designed to store an address, which you can obtain using the & operator.
To declare a pointer, prepend it with the * character.
main.c
123int* intPointer; // Pointer to an `int` variable double* doublePointer; // Pointer to a `double` variable char* charPointer; // Pointer to a `char` variable
In essence, a pointer is a variable that holds the address of another object.
main.c
123int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
Typically, pointers are named by prefixing the letter p to the name of the object they're pointing to.
When you dereference a pointer, you access the value of the variable it points to.
Main.c
12345678910111213#include <stdio.h> int main() { int x = 22543; // Variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // Value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // Pointer dereference return 0; }
*(&variable) == *pVariable
If you attempt to dereference a null pointer, the compiler will raise an error:
Main.c
1234567#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Swipe to start coding
Determine the size of int and double pointers.
Solution
Thanks for your feedback!
single
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
What is the difference between referencing and dereferencing a pointer?
Can you give an example of how to declare and use a pointer?
Why is dereferencing a null pointer an error?
Awesome!
Completion rate improved to 2.63
Working with Pointers
Swipe to show menu
Using the reference operator & and the dereference operator *, we can create and work with pointers.
A pointer is a data type, just like int, char, or double.
The pointer is designed to store an address, which you can obtain using the & operator.
To declare a pointer, prepend it with the * character.
main.c
123int* intPointer; // Pointer to an `int` variable double* doublePointer; // Pointer to a `double` variable char* charPointer; // Pointer to a `char` variable
In essence, a pointer is a variable that holds the address of another object.
main.c
123int x = 100; // Variable int* pX; // Pointer to an `int` variable pX = &x; // `pX` now points to `x`
Typically, pointers are named by prefixing the letter p to the name of the object they're pointing to.
When you dereference a pointer, you access the value of the variable it points to.
Main.c
12345678910111213#include <stdio.h> int main() { int x = 22543; // Variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // Value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // Pointer dereference return 0; }
*(&variable) == *pVariable
If you attempt to dereference a null pointer, the compiler will raise an error:
Main.c
1234567#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Swipe to start coding
Determine the size of int and double pointers.
Solution
Thanks for your feedback!
single