KEMBAR78
Unit 8 Pointers | PDF | Pointer (Computer Programming) | Computer Data
0% found this document useful (0 votes)
12 views4 pages

Unit 8 Pointers

Pointers in C are variables that hold memory addresses, crucial for efficient memory management and data manipulation. They can be declared, initialized, and dereferenced to access or modify values in memory, and can also be used in pointer arithmetic and as function parameters. The document provides examples illustrating the use of pointers with basic data types, arrays, and pointer-to-pointer scenarios.

Uploaded by

njnim55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

Unit 8 Pointers

Pointers in C are variables that hold memory addresses, crucial for efficient memory management and data manipulation. They can be declared, initialized, and dereferenced to access or modify values in memory, and can also be used in pointer arithmetic and as function parameters. The document provides examples illustrating the use of pointers with basic data types, arrays, and pointer-to-pointer scenarios.

Uploaded by

njnim55
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Pointer

Pointers in C are a fundamental concept that allows you to work with memory addresses.
Understanding pointers is crucial for efficient memory management and data manipulation in C.
Let's cover the basics of pointers and how to use them in C:

1. What is a Pointer?
A pointer is a variable that holds the memory address of another variable. It "points to" the
location in memory where a value is stored rather than holding the actual value itself.

2. Declaring Pointers:
To declare a pointer, you use the * (asterisk) symbol before the variable name. For example:

int *ptr; // Declaring a pointer to an integer


char *charPtr; // Declaring a pointer to a character

3. Initializing Pointers:
Pointers can be initialized to point to specific memory addresses or other variables.

int *ptr = NULL; // Initialize to null (a safe practice)


int num = 42;
int *numPtr = # // Pointer pointing to the address of 'num'

4. Accessing Value via Pointers:


To access the value a pointer is pointing to (dereferencing), you use the * operator.

int value = *numPtr; // Retrieves the value pointed to by numPtr (value will be
42)

5. Working with Pointers:


Assigning Addresses:

int num = 10;


int *ptr = # // ptr points to the address of num

Dereferencing:

int value = *ptr; // Dereference ptr to get the value stored at the address
it points to

Modifying Value via Pointer:


*ptr = 20; // Modifies the value stored at the address pointed to by ptr
(num is now 20)

6. Pointer Arithmetic:
Pointers can be incremented or decremented, allowing you to navigate through memory.

int arr[5] = {10, 20, 30, 40, 50};


int *arrPtr = arr;

// Accessing array elements using pointer arithmetic


printf("%d ", *arrPtr); // Prints the first element (10)
arrPtr++;
printf("%d ", *arrPtr); // Moves to the next element and prints it (20)

7. Null Pointers:
A null pointer is a pointer that doesn't point to any valid memory location. It's a good practice to
initialize pointers to null initially.

int *ptr = NULL; // A null pointer

8. Pointer to Pointer:
You can have pointers that point to other pointers.

int num = 10;


int *ptr = #
int **doublePtr = &ptr; // A pointer to a pointer to an integer

9. Passing Pointers to Functions:


Pointers are often used to modify values within functions or to avoid passing large data by value.

void increment(int *x) {


(*x)++;
}

int main() {
int num = 5;
increment(&num);
printf("Incremented value: %d\n", num); // Prints 6

return 0;
}

1. Example of Pointers in C

Sure, here are five examples demonstrating the use of pointers in C:


1. Pointer to Basic Data Type:

#include <stdio.h>

int main() {
int num = 42;
int *ptr = &num; // Pointer to an integer

printf("Value of num: %d\n", num);


printf("Address of num: %p\n", (void *)&num);
printf("Value via pointer: %d\n", *ptr);

return 0;
}

This example demonstrates creating a pointer to an integer, accessing the value through the
pointer, and printing the address and value of a variable using the pointer.

2. Pointer as Function Parameter:

#include <stdio.h>

void increment(int *x) {


(*x)++; // Increment the value via pointer
}

int main() {
int num = 5;
increment(&num); // Pass the address of num
printf("Incremented value: %d\n", num); // Prints 6

return 0;
}

Here, a pointer is used to pass a parameter to a function, allowing the function to modify the
original variable's value.

3. Pointer and Arrays:

#include <stdio.h>

int main() {
int arr[] = {10, 20, 30, 40, 50};
int *ptr = arr; // Pointer to the first element of the array

for (int i = 0; i < 5; i++) {


printf("Value at index %d: %d\n", i, *(ptr + i)); // Accessing array
elements using pointer arithmetic
}

return 0;
}
In this example, a pointer is used to traverse an array and access its elements.

4. Pointer to Pointer:

#include <stdio.h>

int main() {
int num = 42;
int *ptr1 = &num; // Pointer to an integer
int **ptr2 = &ptr1; // Pointer to a pointer to an integer

printf("Value of num: %d\n", num);


printf("Value via ptr1: %d\n", *ptr1);
printf("Value via ptr2: %d\n", **ptr2);

return 0;
}

This example demonstrates a pointer pointing to another pointer, allowing indirect access to a
variable.

You might also like