How to use void * variable?
Today I found I didn’t know how to use void * variable, so I think I need to write it down.
Show you the code, which is compiled in Visual Studio 2017.
#include "pch.h" #include <stdio.h> #define raw 2 #define col 4 int number[raw][col] = { {1, 2, 3, 4}, {5, 6, 7, 8}}; void printData(void *data) { int i = 0; for (i = 0; i < col; i++) { printf("%d\t", ((int *)data)[i]); } printf("\n"); } int main() { int i = 0; for (i = 0; i < raw; i++) { printData(&number[i]); } }
Output:
1 2 3 4
5 6 7 8
So I believe you have already known that how to use void * variable.
We just need to explicit change its type to its origial.
void *data->>(int *)data or (char *)data or (double *)data…
Have a good day. I am really appreciate it if you could tell me any feedback.
Share this article to your social media