| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1612 人关注过本帖
标题:关于指针的问题
只看楼主 加入收藏
peace1221
Rank: 2
等 级:论坛游民
帖 子:32
专家分:35
注 册:2010-7-9
收藏
得分:0 
应该可以赋值的啊

#include<stdio.h>
int main()
{
char *  p="I love china!";
    printf("%s",p);
return 0;
}
2010-08-20 10:28
ggyy4k
Rank: 5Rank: 5
等 级:职业侠客
帖 子:111
专家分:334
注 册:2010-6-28
收藏
得分:0 
以下是引用奋斗青春在2010-8-20 09:27:08的发言:

 唉,我是新手,你写的那个程序都不是很懂哦,只是我看到指针这一节,书上将到不能对指针赋一个字符常量地址,还举了一个例子,我也不明白。
  int a[4]={1,2,3,4};
  int *p;
  p=2000;
 printf(“%x”,p);     /*错误*/
 p=a;    /*正确*/
 我也不知道是什么回事

楼主是想直接给指针赋值地址,其实这是完全可以的,但要注意两个问题:
1、赋值时必须要强制转换,比如p=(int *)0xff00,地址用十六进制
1、你赋值的地址必须是你有操作权限的地址,否则就会提示错误。比如假设地址0xff00为操作系统占用内存,是可以赋值的,但是不能进行写操作,因为没有权限。
其实这个问题在《C 语言深度解剖》第77页(4.1.4,如何将数值存储到指定的内存地址)这一节已说的很清楚,楼主不妨参考一下。
收到的鲜花
2010-08-20 11:33
error007
Rank: 2
等 级:论坛游民
帖 子:32
专家分:23
注 册:2010-7-12
收藏
得分:0 
顶楼上,用强制类型转换为指针(int *)

天才就是重复次数最多的人。
2010-08-20 17:05
max668
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2010-7-25
收藏
得分:0 
回复 2楼 御坂美琴
我欣赏你
2010-08-20 17:18
dobo
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-8-20
收藏
得分:0 
回复 9楼 奋斗青春
指针变量p只能赋地址。2000 是常量不行。定义了数组a[ ] , 侧 a 是数组的首地址,所以  p=a 是对的
2010-08-20 18:42
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:0 
那我再问一下,真不能对指针赋一个字符常量地址吗?常量和立即数,临时值的区别是什么?

我说我在疑惑,就是说我还不太清楚,不知道你们为什么就开始骂人

再者,这里是学习的地方,就因为一个名字,就借机扯开话题,这是学习的地方应该这么做的吗?

御坂御坂气愤着
收到的鲜花
  • 卧龙孔明2010-08-20 19:29 送鲜花  5朵   附言:stO

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-20 18:59
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
看看御坂说话的语气,就知道他和 D_W 不是一路人。
2010-08-20 22:04
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
收藏
得分:0 
可以吧 用p = (char *)0x2343
2010-08-20 22:16
acman
Rank: 1
来 自:郑州
等 级:新手上路
帖 子:12
专家分:5
注 册:2010-8-21
收藏
得分:0 
如果你这样做了  那可就毁了 啊 弄不好电脑里的软件就不能用了啊
嘿嘿
2010-08-21 11:52
jiangshuangz
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-10-18
收藏
得分:0 
a
2010-11-10 23:00
快速回复:关于指针的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019222 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved