设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
关于C的指针
返回列表
发新帖
关于C的指针
[复制链接]
11
|
5
|
2009-4-3 15:33:52
|
显示全部楼层
|
阅读模式
下面一段程序:
#include
using namespace std;
int main()
{
double dval=3.14;
double *cptr=&dval;
//这里有些不明白
cout<<"dval="<<dval<<" , "<<"cptr="<<*cptr<<endl;
dval=5.28;
cout<<"dval="<<dval<<" , "<<"cptr="<<*cptr<<endl;
return 0;
}
而把指针定义的那一句分解成两句:
double *cptr;
*cptr=&dval;
这样就会编译错误,说“‘=’不能把double *转换为 double类型”
再把第二句改一下:
double *cptr;
cptr=&dval;
这程序就可以通过编译了。
请问这是为什么啊?有点晕。
回复
使用道具
举报
千问
|
2009-4-3 15:33:52
|
显示全部楼层
(1)double *cptr;// 定义一个指向double类型的指针变量*cptr=&dval;// 这个是错误的。你的原意是让cptr指向变量dval的地址,而指针前面的*为解引用运算符,即提取指针所指的内容。而等号的右边,在变量前面的&为取地址运算符,即把变量dval的地址取出来。你这样写当然就会产生编译错误,即不能把double *转换为 double类型” (2)double *cptr; // 定义一个指向double类型的指针变量cptr=&dval;// 取出变量double型变量dval的地址,并赋予double指针,这样cptr就指向了变量dval的内存地址了。这个是正确用法...
回复
使用道具
举报
千问
|
2009-4-3 15:33:52
|
显示全部楼层
怎么说呢,这是个很基础的问题。 double *cptr=&dval 是定义指针时给指针赋值,该句其实是这样的,可以分为,先定义指针double *cptr,然后把dval的地址即&dval赋给指针cptr。在定义时可以连写即double *cptr=&dval 。 但是分开写时,要注意,cptr是指针,只能把地址赋给它,即&dval,所以,定义...
回复
使用道具
举报
千问
|
2009-4-3 15:33:52
|
显示全部楼层
*被称为“解引用操作符” 定义指针时表明紧跟后面的变量是一个指针; 其他情况下表示对该指针解引用,此时指指针指向的对象。 如: double *cptr; *cptr=&dval; 定义了一个double指针,名字叫cptr,编译错误因为上述第二种情况,*cptr此时对指针解引用是指指针指向的那个对象,但这个时候指针还没有初始化,...
回复
使用道具
举报
千问
|
2009-4-3 15:33:52
|
显示全部楼层
double *cptr=&dval; 相当于double *cptr; cptr=&dval; 在double *cptr=&dval; 中你看这样写你就明白了double*cptr=&dval;(这两种写法是两种不同的编程风格,但实际是一样的)cptr是那个变量的名称 double* 是类型你写成double ...
回复
使用道具
举报
千问
|
2009-4-3 15:33:52
|
显示全部楼层
double *cptr=&dval; 是在声明指针变量的同时就给其初始化赋值.这里的*是表示声明一个指针变量.如果你写double *cptr; *cptr=&dval; 的话,第2句的*就成了取指针变量cptr所指的值了,这个*是取值运算符,不同于第一句的*了....
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行
1
推荐曲靖男人少精治疗?
2
胎停会肚子痛吗
3
胎停会来月经吗
4
胎盘植入是什么引起的
5
胎停检查什么时候做合适
6
胎停了孕酮会降到多少
7
胎停两次了怎么办
8
胎停胚胎送检是检查什么
9
胎停三次还能正常生育吗
10
胎停是不是一定会出血
11
胎停为什么要检查凝血功能
12
胎停需要清宫吗
13
胎停一般原因造成的
14
胎头低是什么原因造成的
15
胎停后多久做流产
16
胎位不正对胎儿有影响吗
17
胎位不正的原因有哪些
18
胎位低是什么原因?应该注意什么?
19
胎心145正常吗
20
胎心120多算缺氧吗
21
胎位不固定是什么原因导致的
22
胎心155正常吗
23
胎心160到170正常吗
24
胎心160以上是缺氧吗该怎么办
25
胎心185正常吗
26
胎心不规律有停顿会不会危险
27
胎心160以上是缺氧吗
28
胎心高了会怎么样
29
胎心过快要注意什么反应
30
胎心监测170多正常吗
31
胎心会随着孕期下降吗
32
胎心监测不合格的原因
33
胎心监测什么时候开始做
34
胎心监测多少周开始做?
35
胎心监护180是缺氧吗
36
胎心监护6分严重吗
37
胎心监护7分是什么原因
38
胎心监护8分合格吗
39
胎心监护按钮怎么用
40
胎心监护不动什么原因
41
胎心监护fhr1是什么
42
胎心监护不过关问题严重吗
43
胎心监护不正常是什么原因
44
胎心监护对胎儿有影响吗
45
胎心监护不合格的危害
46
胎心监护不好对宝宝有什么影响吗
47
胎位很低是怎么回事
48
胎心监护过关了是不是说明没问题
49
胎心监护过关说明一周内都不会生吗
50
胎心监护快是什么原因
51
胎心监护混合型严重吗
52
胎位太下有什么影响
53
胎心监护老是不过关怎么回事
54
胎心监护满分10分,9分合格吗?
55
胎位高有什么影响吗?
56
胎心监护偶尔超过170是正常吗
57
胎心监护胎心低怎么办
58
胎心减速宝宝有问题吗
59
胎心监护心跳过高怎么办
60
胎心率137正常吗
61
胎心率110正常吗
62
胎心率160到170正常吗怀孕12周
63
胎心率hr多少正常
64
胎心率不齐是什么原因
65
胎心弱能保住吗
66
胎心率随着月份逐渐低怎么回事
67
胎心率异常高会怎么样
68
胎心声音小之前一直大是什么原因引起的
69
胎心胎芽不好怎么办
70
胎心停止是什么原因导致的
71
胎心胎芽一般什么时候可以查得到
72
胎心胎芽长得慢是什么原因
73
胎心正常胎动突然减少正常吗
74
胎心音170次每分胎儿会有影响吗
75
胎心音变弱是什么原因
76
胎心值多少正常范围
77
胎心正弦波怎么判断
78
胎芽长得慢是什么原因造成的
79
胎芽8mm孕期几周
80
胎芽不长是什么原因
81
太会放屁什么原因
82
苔藓样皮炎怎么引起
83
太累会不会影响月经
84
抬重物后腰部疼痛怎么办吃什么药
85
太累月经会推迟吗
86
太阳穴疼什么情况
87
太阳一晒就黑什么原因
88
太阳灼伤后用什么药膏
89
钛合金颅骨可以做核磁共振吗
90
痰湿气滞什么症状
91
痰中带血丝是怎么回事不咳嗽
92
碳酸氢根偏高是怎么办
93
碳13检查注意事项
94
碳酸氢钠片洗外阴的作用
95
碳酸氢钠孕妇可以洗外阴吗
96
唐筛15周可以做吗
97
唐筛不通过怎么办