大可爱 发表于 2018-10-9 22:11:58

通过指针的类型转换,记得有个什么说不同类型的指针不能干啥,忘了,暂时放这儿,...


#include<stdio.h>
int main()
{
        int *p ,i;
        char *q,ch ;
        p = &i;
        q = &ch;
        *p = 40;
        *q = 'a';
        *p = *q;
        printf("%c\n",*p);
        return 0;
}


人造人 发表于 2018-10-9 22:13:26

所以说,你要讨论什么?

大可爱 发表于 2018-10-9 22:31:30

人造人 发表于 2018-10-9 22:13
所以说,你要讨论什么?

#include<stdio.h>
int main()
{
        double b = 1.73;
        int *p;
        p = &b;
       
}
这是不对的,因为C语言规定指针变量与目标类型有关,有定义时,需指定目标类型
把 double 型 变量 赋值给了 整形指针 ,这是错的


人造人 发表于 2018-10-9 22:44:43

大可爱 发表于 2018-10-9 22:31
这是不对的,因为C语言规定指针变量与目标类型有关,有定义时,需指定目标类型
把 double 型 变量 赋 ...

C语言对类型的检查比较弱(相对于C++而言)
但是有警告

mqcake 发表于 2018-12-27 11:05:45

不同的类型转换,会存在精度问题!
页: [1]
查看完整版本: 通过指针的类型转换,记得有个什么说不同类型的指针不能干啥,忘了,暂时放这儿,...