C 如何将字符数组转换为常量字符*字符串?

C 如何将字符数组转换为常量字符*字符串?,c,arrays,string,C,Arrays,String,我正在设计一个程序,它有一个函数,可以从输入中查找单词,然后将它们发送到另一个函数,与字典(字符串数组)进行比较 我想使用中的strncmp(),当然,strncmp()希望两个参数都是const char*。因为我一次解析一个字符的输入,所以我将单词放入一个数组中 如何将字符数组转换为常量字符*字符串?我不想承认,但我真的不知道怎么做。到处搜索,找不到答案 我想到的最好办法就是使用memcpy()。。。不确定是否有更好的方法 TL;DR将字符数组转换为常量字符*字符串的好方法是什么 比如说 只

我正在设计一个程序,它有一个函数,可以从输入中查找单词,然后将它们发送到另一个函数,与字典(字符串数组)进行比较

我想使用
中的
strncmp()
,当然,
strncmp()
希望两个参数都是
const char*
。因为我一次解析一个字符的输入,所以我将单词放入一个数组中

如何将字符数组转换为
常量字符*
字符串?我不想承认,但我真的不知道怎么做。到处搜索,找不到答案

我想到的最好办法就是使用
memcpy()
。。。不确定是否有更好的方法

TL;DR将字符数组转换为常量字符*字符串的好方法是什么

比如说


只要数组末尾有一个空终止符(0字节),它就可以在需要指针的任何地方使用,因为数组会衰减为指向其第一个元素的指针:

char someArray[5] = "word";
char *pointer = someArray;  // That's it!
strncmp(pointer, "something else", 5);

// Or, more simply:
char someArray[5] = "word";
strncmp(someArray, "something else", 5);
轻松按钮。谢谢,我想得太多了!
char someArray[5] = "word";
char *pointer = someArray;  // That's it!
strncmp(pointer, "something else", 5);

// Or, more simply:
char someArray[5] = "word";
strncmp(someArray, "something else", 5);