请告诉我参数(char * s)是什么意思?它可以接受一个字符数组,或只接受指针。请告诉我如何让它接受一个字符串数组,然后根据字符串的长度动态分配内存。my_string(char * s)是什么意思?
0
A
回答
2
从技术上讲,它是指向单个变量的指针。但是,它也可以是指向数组的char
值的第一个元素的指针。只要您不超出目标,您就可以递增和递减指针以移动字符串(s++
或s--
)。
您也可以使用索引而不更改指针,如s[14] = 'a';
。
将它用作指向char
数组的指针通常是在处理C风格字符串时的情况。
此外,char
阵列将衰减到指针到它的第一元件在很多情况下,诸如传递给一个函数:
void fn (char *s) {
printf ("%s\n", s);
}
:
char xyz[50];
strcpy (xyz, "Hello");
fn (xyz);
在C字符串数组,应使用char **
,一个指向指针的数组和指针的数组。
对于C++,你可能应该丢弃char
指针(对于字符串)和完全传递指针。使用std::string
和引用类型。
0
我怎样才能使
C++溶液这个接受字符串的数组:
void foo(std::vector<std::string> const& strings);
℃溶液:
void foo(const char **strings);
0
字符* s表示s是指向存储字符的内存位置的指针。是的,它会接受字符数组,这个例子在这样:
void func(char* s)
{
}
int main()
{
char arr[10] = {0};
func(arr);
return 0;
}
要回答如何使它接受一个字符串数组,请告诉你的字符串明白。它是std :: string类还是char *?
0
char* s
意味着s
是指向到单个char
变量或的char
的一个数组(更好地为字符指针)。还要补充一点,一个字符串基本上是一个数组char
s。
要传递字符数组到接受字符指针和/或字符的阵列的方法,可以这样做:
void foo(const char** string) {
}
int main() {
char[] s = "My String";
foo(&s);
}
相关问题
- 1. ld -s是什么意思?
- 2. 'char x []'是什么意思?
- 3. “char(&(...))[2]”是什么意思?
- 4. 什么(char *)0是什么意思?
- 5. “x.OnSpeak + =(s,e)”是什么意思?
- 6. repr(struct.pack('L',s))是什么意思?
- 7. s_i = s [i] - 'a'是什么意思?
- 8. c中的(char *)0是什么意思?
- 9. “const char(&a)[N]”是什么意思?
- 10. (char *)x或(void *)z是什么意思?
- 11. (const char * restrict,...)是什么意思?
- 12. int argc,char * argv []是什么意思?
- 13. 是什么意思:是什么意思?
- 14. '%s`中的's`是什么意思在字符串格式?
- 15. <S扩展CharSequence> S的意思是什么?
- 16. char * s和char * s有什么区别?
- 17. 'delete [] _v''是什么意思?
- 18. “?”是什么意思?
- 19. $$ $$是什么意思?
- 20. 什么是“||”意思?
- 21. “\\。\”,“\ ?? \”,“\\?\”,“\\”是什么意思?
- 22. “=”是什么意思
- 23. &**是什么意思?
- 24. 是什么意思?
- 25. “_”是什么意思?
- 26. 什么是:!:意思?
- 27. || =是什么意思?
- 28. %%是什么意思?
- 29. =是什么意思?
- 30. %{}是什么意思?
@Elite,这应该是'FOO(&S)',无? – paxdiablo 2011-03-15 07:42:09
@paxdiablo,是的....感谢您的参与。 – 2011-03-15 07:44:35