标题:C PRIMARY PLUS中的问题。
只看楼主
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
结帖率:84.21%
已结贴  问题点数:20 回复次数:9 
C PRIMARY PLUS中的问题。
C PRIMARY PLUS 6 中在结构体部分。他有段定义代码是这样的:

const char * msgs[5]=
{
"Thank you for the wonderful evening",
"you certainly prove that a",
"is a special kind of guy.we must get together",
"over a delicious",
"and have a few laughs"
};

const char * msgs[5]不是一个字符数组吗?不是一段字符串吗?为什么会成为5个字符串的数组?不太懂。求解
搜索更多相关主题的帖子: PRIMARY PLUS const 数组 字符串 
2017-11-28 21:44
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
得分:0 
好奇怪。
2017-11-28 21:45
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
得分:0 
好奇怪。
2017-11-28 21:45
zbjzbj
Rank: 12Rank: 12Rank: 12
来 自:郑州
等 级:贵宾
威 望:52
帖 子:620
专家分:3020
注 册:2011-4-22
得分:2 
可以理解为5个指针组成的数组。
2017-11-28 22:58
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:10 
int * a[5]是啥玩意?指针数组。
所以char * msg[5]也是指针数组。它们都是由5个指针组成的数组。

只不过
指向字符型数据的指针变量经常被用来代表由它所指向的字符开头的字符串。
这里的关键词是“代表”,请参考法人代表,人大代表来理解。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2017-11-28 23:08
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:1 
该数组存放的数据类型是const char* 型~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-11-28 23:17
TIMFannie
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2017-10-15
得分:0 
那字符型指针数组是不是相当于二维数组。msgs[0]相当于0行0列地址?
2017-11-29 20:54
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:5 
假定这五个字符串在内存中的实际地址是
0x100  "Thank you for the wonderful evening",
0x200  "you certainly prove that a",
0x300  "is a special kind of guy.we must get together",
0x400  "over a delicious",
0x500  "and have a few laughs"

那么 const char * msgs[5] 中: msgs[0]=0x100 msgs[1]=0x200 msgs[2]=0x300 ..........

DO IT YOURSELF !
2017-11-29 21:20
丶木清丶
Rank: 2
等 级:论坛游民
帖 子:7
专家分:22
注 册:2017-11-27
得分:2 
按运算符的有限,[]应该是要高于*,所以首先应该是定义个数组,然后定义指针,也就是说这个定义是指针数组,也就是说,有五个指针,然后你想一下,一个字符指针是不是可以指向一个字符串,那么五个字符指针,应该也就可以指向五个字符串。
2017-11-29 22:19
燕小六
Rank: 4
来 自:北京
等 级:业余侠客
威 望:3
帖 子:49
专家分:247
注 册:2017-11-29
得分:0 
五个指向了代码段内存的指针,记得不要改变那五个内容,否则会崩溃
2017-11-30 08:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482918-1-1.html




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

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