У меня проблема - я назначаю переменную-указатель чему-то в вызываемой функции, но при попытке доступа к обновленному указателю в вызывающих функциях он не отображается как обновленный и приводит к ошибке сегмента.Help!
«Самая низкая функция»:
void compareStrings(char* firstFrag, char* secondFrag, int* longestCommonLength, char* suffix, char* prefix, int* relative_pos) {
suffix = firstFrag;
prefix = secondFrag;
}
Вызывается из этой функции (printf вызывает ошибку)
int findBestOverlap(char* fragmentArray[], int fragmentCount, int* longestCommonLength, char* suffix, char* prefix, int* relative_pos) {
compareStrings(fragmentArray[firstFrag], fragmentArray[secondFrag], longestCommonLength, suffix, prefix, relative_pos);
printf("LCL: %i || PREFIX: %s || SUFFIX: %s", *longestCommonLength, prefix, suffix);
}
Префикс и суффикс переменныхв свою очередь, созданный в более высокой вызывающей функции processStrings.
void processStrings(char* fragmentArray[], int fragmentCount) {
int longestCommonLength = 0;
char* suffix;
char* prefix;
int relative_pos; // Where the first letter of suffix is, vis-a-vis prefix
if ((findBestOverlap(fragmentArray, fragmentCount, &longestCommonLength, suffix, prefix, &relative_pos)) != 0) {
}
}
Help!