У меня есть указатель на мой массив символов вроде этого.
unsigned char *recvBuf;
recvBuf = (unsigned char *)malloc(sizeof(char)*RECVBUF);
Затем я передаю это функции, определенной как
void setHeader(MyHeader *myHeader, unsigned char *buffer)
Который копирует первые 12 байтов в структуру
Затем я пытаюсь передать его другой функции позже
Record readRecord(unsigned char *buffer, int *arrayPosition, int buffsize)
Но программа всегда перестает отвечать на запросы, когда я пытаюсь получить доступ к любой части массива, используя [], точно так же, как это использовалось в предыдущей функции. И я тоже в порядке, чтобы получить к нему доступ, прежде чем передать его функции.
Идеи будут высоко оценены.
Спасибо
EDIT:
Указатели одинаковы.
Это внутри второй функции
Я добавил этот код в начало, и он отлично работает
int k = *arrayPosition;
printf("%p \n", buffer);
printf("%c \n", buffer[k]);
Это оригинальный код, программа перестает отвечать на запросы, после того как я = * расположение массива ...
int i, j;
Record *myRecord;
Resource *myResource;
unsigned char name[255];
unsigned char data[50];
unsigned int offset;
i = *arrayPosition;
while(buffer[i] != '\0')
{
if((buffer[i] & 0xC000) == 0xC000)
{