будет ли иметь какое-либо значение, если я использую функции в стиле c для поиска в массиве или cstring?
В строке символов (cstring) символ NULL в конце выступает в качестве часового, чтобы обозначить конец поиска.
Если это массив символов без завершающего символа NULL, то вылучше знать длину строки, чтобы избежать переполнения.
Внутри функции все одинаково .
int foo1(char *x) { /* x is a (char *) */ } int foo2(char x[]) { /* x is a (char *) */ } int foo3(char x[42]) { /* x is a (char *) */ }
Вы имеете в виду:
char *str1;
и
char str2[ X ];
В этом случае нет, это не будет иметь никакого значения: вам нужно перебирать все символы вашей строки.