Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- https://bit.ly/dsa_pointers
- #include <stdio.h>
- int main() {
- int x = 10;
- int *p = &x; // & : address-of. p now holds x's address
- *p = 20; // * : dereference. "go to that address, treat as int"
- // x is now 20
- printf("%d",x);
- }
- #include <stdio.h>
- int main() {
- int x = 10;
- int *p = &x; // & : address-of. p now holds x's address
- *p = 20; // * : dereference. "go to that address, treat as int"
- // x is now 20
- printf("%d",p);
- }
- #include <stdio.h>
- int main() {
- int x = 10;
- int *p = &x; // & : address-of. p now holds x's address
- *p = 20; // * : dereference. "go to that address, treat as int"
- // x is now 20
- printf("%p",p);
- }
- #include <stdio.h>
- int main() {
- int a = 3;
- int *pa = &a;
- printf("%p %p \n", &a, pa);
- printf("%d %d", a, *pa);
- return 0;
- }
- #include <stdio.h>
- int sum(int a, int b)
- {
- return a+b;
- }
- int main() {
- int a,b;
- scanf("%d %d", &a,&b);
- int c = sum(a, b);
- printf("%d", c);
- }
- #include <stdio.h>
- void increment(int a)
- {
- a = a+1;
- return;
- }
- int main() {
- int a,b;
- scanf("%d", &a);
- increment(a);
- printf("%d", a);
- }
- #include <stdio.h>
- void increment(int *a)
- {
- a = a+1;
- return;
- }
- int main() {
- int a,b;
- scanf("%d", &a);
- increment(&a);
- printf("%d", a);
- }
- #include <stdio.h>
- void increment(int *a)
- {
- *a = *a+1;
- return;
- }
- int main() {
- int a,b;
- scanf("%d", &a);
- increment(&a);
- printf("%d", a);
- }
- #include <stdio.h>
- int sum(int *a, int *b)
- {
- return *a + *b;
- }
- int main() {
- int a,b;
- scanf("%d %d", &a,&b);
- int c = sum(&a, &b);
- printf("%d", c);
- }
- #include <stdio.h>
- int sum(int A[], int n)
- {
- int total = 0;
- for(int i=0 ; i < n; i++)
- {
- total += A[i];
- }
- A[1] = 100;
- return total;
- }
- int main() {
- int num[5] = {1,2,3,4,5};
- int c = sum(num, 5);
- printf("%d",num[1]);
- return 0;
- }
- #include <stdio.h>
- int main() {
- int num[5] = {1, 2, 3, 4, 5};
- int *p = num;
- for (int i = 0; i < 5; i++)
- {
- printf("%d", p[i]);
- }
- return 0;
- }
- #include <stdio.h>
- int main() {
- int num[5] = {1, 2, 3, 4, 5};
- int *p = num;
- for (int i = 0; i < 5; i++)
- {
- printf("%d", *(p+i));
- }
- return 0;
- }
- #include <stdio.h>
- int main() {
- int num[5] = {1, 2, 3, 4, 5};
- int *p = num;
- for (int i = 0; i < 5; i++)
- {
- printf("%d", *p);
- p++;
- }
- return 0;
- }
- #include <stdio.h>
- void reverse(int *A, int n)
- {
- int *left = A;
- int *right = A + n - 1;
- while (left < right)
- {
- int temp = *left;
- *left = *right;
- *right = temp;
- left++;
- right--;
- }
- }
- int main() {
- int num[6] = {1, 2, 3, 4, 5, 6};
- reverse(num, 6);
- return 0;
- }
- #include <stdio.h>
- int sum(int *A, int n)
- {
- int total = 0;
- for(int i=0 ; i < n; i++)
- {
- total += A[i];
- }
- A[1] = 100;
- return total;
- }
- int main() {
- int num[5] = {1,2,3,4,5};
- int c = sum(num, 5);
- printf("%d",num[1]);
- return 0;
- }
- #include <stdio.h>
- int sum(int *A, int n)
- {
- int total = 0;
- for(int i=0 ; i < n; i++)
- {
- total += *(A+i);
- }
- A[1] = 100;
- return total;
- }
- int main() {
- int num[5] = {1,2,3,4,5};
- int c = sum(num, 5);
- printf("%d",num[1]);
- return 0;
- }
- #include <stdio.h>
- int sum(int A[], int n)
- {
- int total = 0;
- for(int i=0 ; i < n; i++)
- {
- total += *(A+i);
- }
- A[1] = 100;
- return total;
- }
- int main() {
- int num[5] = {1,2,3,4,5};
- int c = sum(num, 5);
- printf("%d",num[1]);
- return 0;
- }
- #include <stdio.h>
- int *create()
- {
- int num[5] = {1,2,3,4,5};
- return num;
- }
- int main() {
- int *p = create();
- return 0;
- }
- #include <stdio.h>
- #include <stdlib.h>
- int *create()
- {
- int *num = malloc(5 * sizeof(int));
- if (num == NULL)
- {
- printf("Could not allocate");
- return NULL;
- }
- for(int i = 0;i<5; i++)
- num[i] = (i+1);
- return num;
- }
- int main() {
- int *p = create();
- free(p);
- return 0;
- }
- #include <stdio.h>
- #include <stdlib.h>
- int main() {
- int arr[5];
- int *num = malloc(5 * sizeof(int));
- free(num);
- return 0;
- }
- #include <stdio.h>
- #include <stdlib.h>
- int *add(int A[], int n, int num)
- {
- int *arr = malloc((n + 1) * sizeof(int));
- if (arr == NULL)
- {
- printf("Could not allocate");
- return NULL;
- }
- for (int i = 0; i < n; i++)
- {
- arr[i] = A[i];
- }
- arr[n] = num;
- return arr;
- }
- int main() {
- int A[5] = {10, 20, 30, 40, 50};
- int *p = add(A, 5, 60);
- int *q = add(p, 6, 70);
- free(p);
- free(q);
- return 0;
- }
- #include <stdio.h>
- #include <stdlib.h>
- int *add(int A[], int n, int num)
- {
- int *arr = malloc((n + 1) * sizeof(int));
- if (arr == NULL)
- {
- printf("Could not allocate");
- return NULL;
- }
- for (int i = 0; i < n; i++)
- {
- arr[i] = A[i];
- }
- arr[n] = num;
- return arr;
- }
- int main() {
- int *arr = NULL;
- int n = 0, num;
- while (1)
- {
- scanf("%d", &num);
- if (num == -1)
- break;
- int *newarr = add(arr, n, num);
- if (newarr == NULL)
- {
- printf("Program failed");
- break;
- }
- free(arr);
- arr = newarr;
- n++;
- }
- free(arr);
- return 0;
- }
- #include <stdio.h>
- #include <stdlib.h>
- int *remove_at(int *arr, int n, int index)
- {
- int *newarr = malloc((n - 1) * sizeof(int));
- if (newarr == NULL)
- {
- printf("Could not allocate");
- return NULL;
- }
- int *p = newarr;
- for (int i = 0; i < n; i++)
- {
- if (i == index)
- {
- arr++;
- continue;
- }
- *p = *arr;
- arr++;
- p++;
- }
- return newarr;
- }
- int main() {
- int A[5] = {1, 2, 3, 4, 5};
- int *p = remove_at(A, 5, 2);
- free(p);
- return 0;
- }
Add Comment
Please, Sign In to add comment