| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9056 人关注过本帖
标题:C++ 指针问题
只看楼主 加入收藏
超超超1
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-5-21
结帖率:80%
收藏
已结贴  问题点数:40 回复次数:9 
C++ 指针问题
问题1:
int *a=5;
这样写到底对不对?


问题2:
char *digitString[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
这样的表示该怎么解释?是指针数组吗?还是二维数组?
2014-10-26 22:15
哆啦安梦
Rank: 2
来 自:哈尔滨理工大学软件
等 级:论坛游民
威 望:1
帖 子:31
专家分:49
注 册:2011-10-21
收藏
得分:15 
问题一:应该不对,指针初始化的时候应该赋地址,5是整数不能转换成地址
问题二:可以看成字符数组的数组,也就是二维数组

Press any key to continue_
2014-10-26 22:23
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:10 
类型不同,    a类型为(int *)     数字5类型为 int
问题2要赋值数组指针.   即 你的内容必须为地址类型. 不能用字符串,必须是指针

hl928452957@gmail点com

2014-10-26 23:10
超超超1
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-5-21
收藏
得分:0 
回复 3 楼 stop1204
问题1我理解。但问题2,这样写是没问题的,vs里编译是通过的,digitString[0]="one"。我本意也觉得这样改初始化一组指针,但这样赋值一串字符串算什么?是把字符串的地址赋值给它们吗?
2014-10-27 08:47
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:15 
以下是引用超超超1在2014-10-26 22:15:56的发言:


问题2:
char *digitString[]={"zero","one","two","three","four","five","six","seven","eight","nine"};
这样的表示该怎么解释?是指针数组吗?还是二维数组?


这就是字符串数组    数组每个元素都是存储的字符串指针  指向内容非别是。。。。。。。

也许这样声明 更容易理解char*  digitString[]={"zero","one","two","three","four","five","six","seven","eight","nine"};

DO IT YOURSELF !
2014-10-27 08:55
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
至于第一个  可以这样声明   int* t=(int*)5;  但是毫无意义  除非你设定的数值是可以访问的(具有读写权限)

DO IT YOURSELF !
2014-10-27 08:58
城府
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-10-27
收藏
得分:0 
回复 楼主 超超超 1
我是新手   能教我编程的知识吗
2014-10-27 09:36
超超超1
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-5-21
收藏
得分:0 
回复 7 楼 城府
你看我问的问题很高端吗……
2014-10-27 09:40
超超超1
Rank: 1
等 级:新手上路
帖 子:22
专家分:1
注 册:2013-5-21
收藏
得分:0 
以下是引用超超超1在2014-10-27 08:47:02的发言:

问题1我理解。但问题2,这样写是没问题的,vs里编译是通过的,digitString[0]="one"。我本意也觉得这样改初始化一组指针,但这样赋值一串字符串算什么?是把字符串的地址赋值给它们吗?



我自己理解错了,digitString[0]内存储的是字符串"one"的指针,所以可以这样输出这个字符串:printf("%s",digitString[0]);(或者cout<<digitString[0];)
2014-10-27 09:46
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
C++应该多用引用和容器 少用指针和数组
2014-10-27 14:37
快速回复:C++ 指针问题
数据加载中...
 
   



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

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