Initial value: x = 10
After modification using pointer: x = 20 After modification using double pointer: x = 30 After modification using triple pointer: x = 40
#include <stdio.h>
int main() {
int num = 10; // Original integer variable
int *ptr1 = # // Pointer to int
int **ptr2 = &ptr1; // Pointer to pointer
int ***ptr3 = &ptr2; // Triple pointer
printf("Original value: %dn", num);
/* Modify via single pointer */
*ptr1 = 20;
printf("After *ptr1 = 20: %dn", num);
/* Modify via pointer-to-pointer */
**ptr2 = 30;
printf("After **ptr2 = 30: %dn", num);
/* Modify via triple pointer */
***ptr3 = 40;
printf("After ***ptr3 = 40: %dn", num);
/* Access via different levels */
printf("nAccess values through pointers:n");
printf("*ptr1 = %dn", *ptr1);
printf("**ptr2 = %dn", **ptr2);
printf("***ptr3= %dn", ***ptr3);
return 0;
}
#include <stdio.h>
int main() {
int num = 10; // Original integer variable
int *ptr1 = # // Pointer to int
int **ptr2 = &ptr1; // Pointer to pointer
int ***ptr3 = &ptr2; // Triple pointer
printf("Original value: %dn", num);
/* Modify via single pointer */
*ptr1 = 20;
printf("After *ptr1 = 20: %dn", num);
/* Modify via pointer-to-pointer */
**ptr2 = 30;
printf("After **ptr2 = 30: %dn", num);
/* Modify via triple pointer */
***ptr3 = 40;
printf("After ***ptr3 = 40: %dn", num);
/* Access via different levels */
printf("nAccess values through pointers:n");
printf("*ptr1 = %dn", *ptr1);
printf("**ptr2 = %dn", **ptr2);
printf("***ptr3= %dn", ***ptr3);
return 0;
}