一个关于指针间赋值及间接求值的问题
来源:互联网 发布:淘宝哪家火锅底料好 编辑:程序博客网 时间:2024/05/01 07:51
1 #include<stdio.h> 2 void main() 3 { 4 int i = 1; 5 float j = 5; 6 int *b = &i; 7 float *a = &j; 8 9 b = (int *)a; 10 printf("*b=%d *a=%f\n", (int) *(float *)b, *a); 11 }
这个程序中,指针b和指针a所指向的地址是相同的,但是如果想通过指针b得到其指向地址单元的内容还要考虑其所指向地址单元内容变量的类型,然后通过相应的转换才能求得。
关于指针之间赋值的问题:
在传统C中,在不同类型的指针之间赋值时,进行转换通常是允许的。在ANSI C中,这种转换是不允许的,除非其中一种类型为void,或者赋值符右边是常量0.因此,我们可以把void *看成是一种通用的指针类型。这是一个非常重要的概念。
声明
int *p;
float *q;
void *v;
合法赋值 非法赋值
p = 0; p = 1;
p = (int *) 1; v = 1;
p = v = q; p = q;
p = (int *) q;
- 一个关于指针间赋值及间接求值的问题
- 指针间接赋值的意义
- 对指针间接赋值的理解(1)
- (*p)指针间接赋值
- 关于未指针数组赋值的问题
- 关于数组给指针赋值的问题
- 1.4 间接赋值是指针存在的最大意义
- 一个关于结构体赋值的问题
- 一个关于指针的问题
- 一个关于指针的问题
- 一个关于指针的问题
- 指针的赋值问题
- 指针赋值的问题
- 指针赋值的问题
- 指针赋值的问题
- 关于 将一个数组赋值给另外一个数组会重置原来数组的指针 的问题
- 指针铁律2/3:间接赋值是指针存在的最大意义
- 用指针给数组赋值的一个小问题
- 开源网络爬虫介绍及其比较
- winxp蓝屏(rt61.sys)
- sqlserver 数据库 float类型 计算BUG!?
- JDBC的批量插入
- 傅立叶的贡献
- 一个关于指针间赋值及间接求值的问题
- 个人收集史上最全的App Store邮箱列表
- jquery和js绑定事件的不同
- pthread_create函数编译时报错:undefined reference to 'pthread_create'
- Oracle物化视图失效分析
- MySQL快速掌握之进阶篇
- EV,HEV,PHEV的区别
- 花几千块钱买了电脑,别老只上QQ啊,校内啊,这些手机就能干的事。绝对的好东西,转来的,自己留着。。。
- win7 开启telnet 服务