指针类型强制转换:
如下代码所示:
short *num_short_ptr = (short *)#
num 为int 型 但是要使用为short类型的指针去指向它,则就需要对&num进行强制转换,将num的数据类型转换为short型;
#include <stdio.h>
void Prit_bit(short num);
void Pritint_bit(int num);
int main()
{
int num = 65536;
short num1 = 2;
int *num_ptr = #
short *num_short_ptr = (short *)#
Pritint_bit(num);
//double *num_ptr1 = (double *)(&num);
printf("%p\n", &num);
printf("%p , %p\n", num_short_ptr, num_short_ptr + 1);
short a = *num_short_ptr;
short b = *(num_short_ptr + 1);
Prit_bit(a);
Prit_bit(b);
printf("%d , %d\n", a, b);
return 0;
}
void Prit_bit(short num)
{
for (int i = 0; i < 16; i++)
{
if (i % 4 == 0)
{
printf(" ");
}
printf("%d", (num >> (15 - i)) & 0x01);
}
printf("\n");
}
void Pritint_bit(int num)
{
for (int i = 0; i < 32; i++)
{
if (i % 4 == 0)
{
printf(" ");
}
printf("%d", (num >> (31 - i)) & 0x01);
}
printf("\n");
}