#include<stdio.h>
/*
'*' is the dereference operator; it will grab the value at a memory address.
it is also used to declare a pointer variable.
'&' is the address-of operator; it will grab the memory address of a variable.
*/
int main(int argc, char *argv[]) {
int x = 45; // Declare integer x to be 45.
int *int_ptr = &x; // int_ptr now points to the value of x. Any changes made to the value at int_ptr will also modify x.
x = 5; // Now, the value of x is 5. This means that the value at int_ptr is now 5.
*int_ptr = 2; // Now, the value at int_ptr is 2. This means that x is now 0.
int_ptr = NULL; // int_ptr now no longer points to anything. Make sure you never leave a dangling pointer!
return 0;
}
#include <stdio.h>
int main()
{
int j;
int i;
int *p; // declare pointer
i = 7;
p = &i; // The pointer now holds the address of i
j = *p;
printf("i = %d
", i); // value of i
printf("j = %d
", j); // value of j
printf("*p = %d
", p); // the address held by the pointer
*p = 32; // asigns value to i via the pointer
printf("i = %d
", i); // value of i
printf("j = %d
", j); // value of j
printf("*p = %d
", p); // the address held by the pointer
printf("&i = %d
", &i); // address of i
return 0;
}
#include <stdio.h>
int main()
{
int* pc, c;
c = 22;
printf("Address of c: %p
", &c);
printf("Value of c: %d
", c); // 22
pc = &c;
printf("Address of pointer pc: %p
", pc);
printf("Content of pointer pc: %d
", *pc); // 22
c = 11;
printf("Address of pointer pc: %p
", pc);
printf("Content of pointer pc: %d
", *pc); // 11
*pc = 2;
printf("Address of c: %p
", &c);
printf("Value of c: %d
", c); // 2
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *ptr, i , n1, n2;
printf("Enter size: ");
scanf("%d", &n1);
ptr = (int*) malloc(n1 * sizeof(int));
printf("Addresses of previously allocated memory: ");
for(i = 0; i < n1; ++i)
printf("%u
",ptr + i);
printf("
Enter the new size: ");
scanf("%d", &n2);
// rellocating the memory
ptr = realloc(ptr, n2 * sizeof(int));
printf("Addresses of newly allocated memory: ");
for(i = 0; i < n2; ++i)
printf("%u
", ptr + i);
free(ptr);
return 0;
}
// Variable declaration
type var;
// Get the address (a pointer to) a variable
// &var -> type*
// Pointer declaration(s)
type* ptr_a;
type* ptr_b;
// Change what pointer is pointing to
ptr_a = &var;
ptr_b = ptr_a;
// Can declare and assign in 1 line
type* ptr_c = &var;
type* ptr_d = ptr_c;
// "Pointers" are also variables
// &ptr_d -> type**
type** ptr_e = &ptr_d;
// Getting values from pointers
// *ptr_d -> type
// *ptr_e -> type*
type value = *ptr_d;
#include <stdio.h>
int main()
{
int *p;
int var = 10;
p= &var;
printf("Value of variable var is: %d", var);
printf("
Value of variable var is: %d", *p);
printf("
Address of variable var is: %p", &var);
printf("
Address of variable var is: %p", p);
printf("
Address of pointer p is: %p", &p);
return 0;
}
#output
#Value of variable var is: 10
#Value of variable var is: 10
#Address of variable var is: 0x7fff5ed98c4c
#Address of variable var is: 0x7fff5ed98c4c
#Address of pointer p is: 0x7fff5ed98c50
#include<stdio.h>
#include<stdlib.h>
main()
{
int *p;
p=(int*)calloc(3*sizeof(int));
printf("Enter first number
");
scanf("%d",p);
printf("Enter second number
");
scanf("%d",p+2);
printf("%d%d",*p,*(p+2));
free(p);
}
Code Example |
---|
C :: c calling a function |
C :: size of float in c |
C :: declare an array |
C :: how to declare a struct in c |
C :: what is %d in C |
C :: what is O(N^2) in bubble sort method |
C :: C #ifdef Directive |
C :: address operator |
C :: gcc compiler for windows 10 |
C :: how to check file pointers in c |
C :: ouverture du fichier c |
C :: dev c online |
C :: get string from ptrace registery |
C :: grep C hello world |
C :: phpunit assert continue |
C :: execute asm in c |
C :: clipboard lib |
C :: C Change Value of Array elements |
C :: Uri/beecrowd problem no - 1099 solution in C |
C :: assembly to c code converter |
C :: c joystick arduino |
C :: copy a number of characters to another string in c without standard library |
C :: c Modulo 10^9+7 (1000000007) |
C :: how to turn off bash |
C :: email dev Microsoft Outlook 2007 items all aligned left or aligned wrong |
C :: float |
C :: hello world in c language |
C :: latex font sizes |
Dart :: dart string remove first character |
Dart :: flutter text hint |