Pointers
C pointer operations and usage
C basic pointer operations
C basic pointer declaration and operations
#include <stdio.h>
int main() {
int num = 42;
int *ptr = #
printf("Value: %d\n", num);
printf("Address: %p\n", &num);
printf("Pointer value: %p\n", ptr);
printf("Pointer dereference: %d\n", *ptr);
*ptr = 100;
printf("After modification: %d\n", num);
return 0;
}
C pointer arithmetic
C pointer arithmetic with arrays
#include <stdio.h>
int main() {
int arr[] = {10, 20, 30, 40, 50};
int *ptr = arr;
for (int i = 0; i < 5; i++) {
printf("arr[%d] = %d\n", i, *(ptr + i));
}
return 0;
}
C pointer to pointer
C pointer to pointer operations
#include <stdio.h>
int main() {
int num = 42;
int *ptr1 = #
int **ptr2 = &ptr1;
printf("Value: %d\n", num);
printf("Pointer 1: %p\n", ptr1);
printf("Pointer 2: %p\n", ptr2);
printf("Value through ptr2: %d\n", **ptr2);
return 0;
}
C pointer with function parameters
C pointer with function parameters for swapping
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int x = 10, y = 20;
printf("Before swap: x = %d, y = %d\n", x, y);
swap(&x, &y);
printf("After swap: x = %d, y = %d\n", x, y);
return 0;
}
C pointer with array of pointers
C pointer with array of pointers to strings
#include <stdio.h>
int main() {
char *fruits[] = {"apple", "banana", "cherry"};
int size = sizeof(fruits) / sizeof(fruits[0]);
for (int i = 0; i < size; i++) {
printf("Fruit %d: %s\n", i, fruits[i]);
}
return 0;
}