C语言中把普通变量的地址强转成相对应的指针类型

经常看到有些函数内部首先进行这种强转,请问这种操作的目的是什么

不用怀疑,转换成指针,就是为了拿到这个变量的地址
拿到变量地址,你可以随意传送,到哪里改都能改掉变量的值

就是为了获得变量的地址啊
用地址的话可以作为参数传递,使得函数内可以修改变量的值

int a = 1;
int *p = &a;
char* q = (char*)p;
int *z = (int*)q;

可以修改内存.不用指针无法直接改变值

个人觉得没有什么差别,就是使用上变量访问方式的差别。 如果转成指针,取对应的变量可以用(->)的方式,变量直接取值用(.) 具体根据需求该怎么用还是怎么用