This question already has answers here:
Closed 4 years ago.
What is size_t in C?
(12个答案)
假设我想让一个函数
但我想让它尽可能可靠例如,如果最大的
所以,一般来说,如果您想在用户提供的数组中找到某些内容,那么返回指针在C语言中是最常用的。
您可以返回
(12个答案)
假设我想让一个函数
int indexOf ( char * str, char c )
{
// returns the index of the chracter c in the string str
// returns -1 if c is not a character of str
int k = 0;
while (*str)
{
if (*str == c) break;
else ++str;
}
return *str ? k : -1;
}
但我想让它尽可能可靠例如,如果最大的
int
保证大于或等于字符数组的最大大小,则只适用于上述。我怎样才能用纯C来覆盖所有的碱基? 最佳答案
size_t
不,说真的size_t
是标准的C类型它在<stddef.h>
中定义。
(这是对“C中“大小”的等价物是什么?”的回答)
对于您编写的确切函数,strchr
将更适合-调用方可以这样使用它:
const char* str = "Find me!find mE";
char* pos = strchr(str, '!');
if(pos) // found the char
{
size_t index = (pos - str); // get the index
// do the other things
}
else
{
// char not found
}
所以,一般来说,如果您想在用户提供的数组中找到某些内容,那么返回指针在C语言中是最常用的。
您可以返回
ssize_t
(其中包括size_t
和-1
的所有可能值),但它不是标准的C,所以我不推荐它。我提这件事只是为了完整。07-27 14:00