Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >这是指向大小为3的字符数组的指针数组的正确语法吗?

这是指向大小为3的字符数组的指针数组的正确语法吗?
EN

Stack Overflow用户
提问于 2014-02-23 21:31:56
回答 1查看 36关注 0票数 1

我正在尝试制作自己版本的“自动更正”程序,该程序可以检查与给定单词相似的单词。要做到这一点,我需要查看标准键盘上字母之间的距离,以便对一个单词与另一个单词的“接近”程度有一个度量。

在我的程序中,我已经开始编写一个数组

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const char[3]* KEY_DISTS[] = { "aa0", "ab5", "ba5", "ac3", "ca3", "ad2", "da2" ,... };

这应该意味着“'a‘和'a’之间的距离是0,'a‘和'b’之间的距离是5,'b‘和'a’之间的距离是5”等等。

接下来我将把这些信息放在一个映射成对字符到整数的映射中,但是我想知道到目前为止它是否写得正确,您是否有什么建议给我。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const char[3]* KEY_DISTS[]

应该是指“指向大小为3的字符数组的常量指针数组”,对吧?

EN

回答 1

Stack Overflow用户

发布于 2014-02-23 21:38:20

与标题匹配的声明为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const char (*arr[])[4] = { &"aa0" };

请注意,"arr"是一个由四个字符组成的数组(它包括终止的'\0'),并且您需要获取字符串文本的地址(它们是左值,并且具有静态存储持续时间,所以这很好)。

听起来你可以用一个2D数组来代替:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const char arr[][4] = { "aa0" };
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21974852

复制
相关文章
【C 语言】字符串 一级指针 内存模型 ( 指定大小字符数组 | 未指定大小字符数组 | 指向常量字符串的指针 | 指向堆内存的指针 )
在 栈内存 中 , 声明 不指定大小的 字符数组 , 初始化 “123” 字符串 ;
韩曙亮
2023/03/29
2.4K0
【C 语言】字符串 一级指针 内存模型 ( 指定大小字符数组 | 未指定大小字符数组 | 指向常量字符串的指针 | 指向堆内存的指针 )
指针数组与指向指针的指针
指针数组与指向指针的指针 http://wlkc.gdqy.edu.cn/jpkc/portal/blob?key=173314 指针数组和数组指针的区别 http://allew.blog.163.
阳光岛主
2019/02/19
1.8K0
指针数组——元素为指针的数组
叶茂林
2023/07/28
1190
C++指向数组元素的指针
在C++中,一个变量有地址,一个数组包含若干元素,每个数组元素都在内存中占用存储单元,它们都有相应的地址;指针变量既然可以指向变量,也可以指向数组元素,所谓数组元素的指针就是数组元素的地址。
小林C语言
2020/12/15
2.2K0
C++指向数组元素的指针
【进阶指针一】字符数组&数组指针&指针数组
目录 1.初阶指针内容回顾 2.字符指针 2-1 字符指针长什么样? 2-2 误区: 2-3  代码一和代码二的异同: 2-4 关于字符常量区: 2-5 一道为了区分栈区和字符常量区&&字符数组和字符指针的面试题:  3.指针数组 3-1 指针数组长什么样捏? 3-2 初级使用(或者说给你看一下基本使用): 3-3这才是指针数组的正确使用方法!【指针数组模拟打印二维数组】  4. 数组指针 4-1 区分取地址数组名和数组名(老生常谈了) 4-2 辨析数组指针和指针数组  4-3 学会了?来看一个小测试
MicroFrank
2023/01/16
9690
C++ 中关于指向数组的指针与指针数组的一些思考
在 C++ 中,可以将一个指针指向某个数组,也可以使用一个指针数组指向一个数组。这二种方式的具体使用请看以下代码:
耕耘实录
2022/05/09
1.4K0
《挑战30天C++入门极限》C/C++中字符指针数组及指向指针的指针的含义
  函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?   如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。 定义一个指向函数的指针用如下的形式,以上面的test()为例: int (*fp)(int a);//这里就定义了一个指向函数的指针   函数指针不能绝对不能指向不同类型,或者是带不同形参的函数,在定义函数指针的时候我们很容易犯如下的错误。 int *fp(int a);//这里是错误的,因为按照结合性和优先级来看就是先和()结合,然后变成了一个返回整形指针的函数了,而不是函数指针,这一点尤其需要注意!   下面我们来看一个具体的例子: #include <iostream> #include <string> using namespace std; int test(int a); void main(int argc,char* argv[]) { cout<<test<<endl;//显示函数地址 int (*fp)(int a); fp=test;//将函数test的地址赋给函数学指针fp cout<<fp(5)<<"|"<<(*fp)(10)<<endl; //上面的输出fp(5),这是标准c++的写法,(*fp)(10)这是兼容c语言的标准写法,两种同意,但注意区分,避免写的程序产生移植性问题! cin.get(); } int test(int a) { return a; }   typedef定义可以简化函数指针的定义,在定义一个的时候感觉不出来,但定义多了就知道方便了,上面的代码改写成如下的形式: #include <iostream> #include <string> using namespace std; int test(int a); void main(int argc,char* argv[]) { cout<<test<<endl; typedef int (*fp)(int a);//注意,这里不是生命函数指针,而是定义一个函数指针的类型,这个类型是自己定义的,类型名为fp fp fpi;//这里利用自己定义的类型名fp定义了一个fpi的函数指针! fpi=test; cout<<fpi(5)<<"|"<<(*fpi)(10)<<endl; cin.get(); } int test(int a) { return a; }
landv
2019/07/15
1.3K0
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
数组名称不作为常量指针的场合 : 数组名类似于常量, 但不是常量, 下面两种场合数组名与常量指针不同 ;
韩曙亮
2023/03/27
3.7K0
【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
C/CPP结构中的字符数组和字符指针
一般情况下我们在结构中都使用字符数组来存储字符串,是否可以使用指向char的指针来代替字符数组呢?
CtrlX
2022/10/04
1.5K0
指针数组和数组指针的详细解答
/**首先弄明白什么是指针数组,什么又是数组指针。 指针数组: 类型名 *数组名[数组长度] 如: int *p[8]; 因为优先级的关系,p先与[]结合,说明p是一个数组,然后再与*结合数组p 的元素是指向整型数据的指针。相当于定义了8个整型指针变量。在此,p就是 数组元素为指针的数组,本质为数组。 数组指针: 类型名 (*指针名)[数组长度] 如:int (*p)[8]; p先与*号结合
谙忆
2021/01/20
5120
指针数组和数组指针的详细解答
指针数组和数组指针的简单理解
数组指针只是一个指针变量,似乎是C语言里专门用来指向二维数组的,它占有内存中一个指针的存储空间。指针数组是多个指针变量,以数组形式存在内存当中,占有多个指针的存储空间。 还需要说明的一点就是,同时用来指向二维数组时,其引用和用数组名引用都是一样的。 比如要表示数组中i行j列一个元素: *(p[i]+j)、*(*(p+i)+j)、(*(p+i))[j]、p[i][j]
Twcat_tree
2022/11/30
5930
指针数组和数组指针的简单理解
函数指针数组的指针
pf是一个指针,这个指针指向一个有3个元素的数组,每个元素是一个参数为char* ,返回值为char *的指针。 示例:
Daotin
2018/08/31
1.3K0
函数指针数组的指针
指针与数组的关联3 --声明
    当我们在调用函数时,传递数组,就是把数组首元素的地址传递给函数,本质也就是给函数传递了一个指针变量。这时候我们会想那么数组是不是跟指针是一样的。为了验证,我们可以给一个项目里创建一个新的源文件,里面创建一个指针变量和是个数组,然后在另一个文件中用数组的方法声明指针,在用指针的方法声明这个数组进行调试,看下结果会如何。
py3study
2020/01/13
8590
c专题之指针---数组指针与指针数组的区别
1、const修饰指针的用法,主要是const它放的位置,一改变位置,它表示的意思就不一样了:
用户6280468
2022/03/18
1.9K0
c专题之指针---数组指针与指针数组的区别
c语言之指向二维数组元素的指针变量
首先我们需要明确的是:二维数组在内存中是连续的,比如一个二维数组int a[2][3]={1,2,3,4,5,6},可以视作是两个一维数组构成的,即int a0[3] ={1,2,3},int a1[3] = {4,5,6},我们知道,一维数组在内存中是连续的一块内存,并且数组名a0,a1代表的就是该数组首元素的地址,而正因为二维数组的内存中的地址也是连续的,所以a1的首元素的地址就为a0数组首元素的地址+a0中元素的个数,因此,我们就可以通过让指针不断+1来访问其中的每一个元素,不用再考虑行与列的限制。
西西嘛呦
2020/08/26
1.3K0
c语言之指向二维数组元素的指针变量
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )
最后 , 声明一个 数组指针类型 变量 , 将 array2 变量地址赋值给该 数组指针类型 变量 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;
韩曙亮
2023/03/29
3K0
【C 语言】数组 ( 数组指针 | 数组指针定义 | 使用 数组指针类型 定义数组指针 )
详解C语言中的数组指针与指针数组
数组指针的意思即为通过指针引用数组,p先和*结合,说明了p是一个指针变量,指向一个大小为5的数组。所以,int (*p)[5]即为一个数组指针。int *p[5]则是一个大小为5且存放整型指针的数组。
全栈程序员站长
2022/09/19
3.5K0
详解C语言中的数组指针与指针数组
【编程经验】关于数组指针与指针数组的解释
啦啦啦啦,小编又来了呢,今天给大家讲讲数组指针与指针数组,依旧废话不多说,直接步入正题。 关于数组指针和 指针数组,相信狠很多同学对此疑惑过,今天我们来把他们分个清楚! 首先,让我们从字面意义上理解他
编程范 源代码公司
2018/04/18
7730
【编程经验】关于数组指针与指针数组的解释
数组指针和指针数组
一、数组指针 初学C语言的朋友对数组指针这指针数组感到迷惑,分不清,包括我自己,其实是对概念的不清晰以及对数组和指针这两个概念理解的不够深入,下面谈谈我的理解。 数组指针,是一个指针而不是数组。 这个指针具有指向整个数组的能力,保存这个数组的其实地址。 定义数组指针变量
lexingsen
2022/02/24
7680
数组指针和指针数组
指针数组和数组指针
指针数组 :就是指针的数组,数组的元素是指针;  数组指针:就是指向数组的指针。 简单举例说明:     int *p1[10];    声明了一个数组,数组的元素是int型的指针。     int (*p2)[10]; 声明了一个指针, 指向了一个有十个int元素的数组。 这两种写法主要是因为运算符的优先级, 因为[]的优先级比*高。 第一种写法:p先和[]结合,所以是一个数组,后与*结合,是指针数组。 第二种写法:()的优先级比[]高,*号和p2构成一个指针的定义,指针变量名为p,int 修饰的是数组的
lpxxn
2018/01/31
1.1K0
指针数组和数组指针

相似问题

这是指向数组开头指针的指针吗?

14

指向数组语法的指针

32

对于指向固定大小数组的指针数组,正确的c语法是什么?

11

这是定义数组指针数组的正确方法吗?

29

"address of“字符指针数组的C语法正确吗?

60
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文