How to use void pointer in C

2 Answers

0 votes
#include <stdio.h>

int main(void)
{
    int n = 374;

    void* p = &n;

    printf("n = %d\n", n);
    printf("*(int*)p = %d\n", *(int*)p);

    *(int*)p += 222;

    printf("n = %d\n", n);
    printf("*(int*)p = %d\n", *(int*)p);

    n = 100;

    printf("n = %d\n", n);
    printf("*(int*)p = %d\n", *(int*)p);

    return 0;
}





/*
run

n = 374
*(int*)p = 374
n = 596
*(int*)p = 596
n = 100
*(int*)p = 100

*/

 



answered May 12, 2023 by avibootz
edited May 12, 2023 by avibootz
0 votes
#include <stdio.h>

int main(void)
{
    char ch = 'z';

    void* p = &ch;  

    printf("ch = %c\n", ch);
    printf("*(char*)p = %c\n", *(char*)p);

    ch = 'a';

    printf("ch = %c\n", ch);
    printf("*(char*)p = %c\n", *(char*)p);


    *(char*)p = 'r';

    printf("ch = %c\n", ch);
    printf("*(char*)p = %c\n", *(char*)p);

    return 0;
}





/*
run

ch = z
*(char*)p = z
ch = a
*(char*)p = a
ch = r
*(char*)p = r

*/ 

 



answered May 12, 2023 by avibootz

Related questions

1 answer 132 views
1 answer 140 views
140 views asked Jun 21, 2017 by avibootz
1 answer 167 views
167 views asked May 5, 2017 by avibootz
1 answer 121 views
121 views asked Dec 25, 2020 by avibootz
1 answer 109 views
109 views asked May 30, 2023 by avibootz
...