나는 다음과 같은 코드를 가지고 :는 출력 #include <stdio.h>
#include <stdlib.h>
#define OUT
void getDataFromServer(OUT int** array, OUT int* size)
{
static int tmpArr[] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05,
문단을 문장으로 변환하려면 어떻게해야합니까? paragraph 여러 문장을 포함하는 문자열은 다음과 같습니다 char **makeSentences(char *paragraph);
하는 다음과 같이 나는 함수 서명을해야합니다. 문단은 각 문장이 마침표 (.)로 끝나고 전체 단락이 null 종결 자로 끝나도록합니다. 은 동적으로 할당 된 문장의 배열을 반환
그래서 내 프로그램에서 malloc을 사용하고 프로그램 안의 메서드 내에서 realloc을 사용했습니다. 이 메서드를 여러 번 호출 한 후에 "분할 오류 (코어가 덤프 됨)"가 발생합니다. 추가 검사시, 예를 들어 내 포인터가 0x25d7d60 또는 0x223fae0 (또는 7 자리 숫자 (0xHHHHHHH)로 표시되는 주소)에서 0x7f47d370a010
나는 다음 구조체를 struct Board
{
int width;
int height;
char **board;
}
을 그리고 난, 따라서 더 많은 메모리와 realloc을 호출()를 필요 의미하는 ** 보드를 확장하고 싶습니다. 그래서 내 질문에 어떻게해야합니까 - 내가 realloc() 배열의 separatly 및 모든
문자열 배열 (버퍼)을 사용하고 크기를 늘려야하는 함수가 있습니다. 그래서 나는 realloc을에게 temp = (char**) realloc (buffer, newSize * (sizeof(char*)));
if (temp == NULL)
return false;
else
buffer = temp;
를 호출하고 지금까지 모든 것이
realloc이 포인터를 반환하지 않는 지점에 도달했습니다. 배열을 확장하거나 이동할 공간이 부족하다고 가정합니다. 유일한 문제는 메모리가 실제로 존재해야하거나 응용 프로그램이 예상대로 실행될 수 없다는 것입니다. 따라서 malloc을 시도하기로 결정했습니다. realloc이 작동하지 않을 것이므로 작동하지 않을 것이라고 예상했지만 그렇게했습니다. 왜? 그
아이디어는 표준 입력에서 EOF에 도달 할 때까지 문자열을 읽는 것입니다 (이 형식은 "string - string"). 그런 다음 문자열을 두 개의 문자열로 분리하고 두 번째 배열에 저장합니다. 배열은 처음에는 2 행 20 열로 동적으로 할당되지만 다음 문자열을 추가 할 때마다 2 행을 추가하고 싶습니다 (함수 expandmat()). 내 코드는 다음과
이것은 숙제이므로 코드를 게시하고 싶지는 않지만 버그가 꽤 있습니다. 현재 배열이 malloced 있고 배열에 포인터를 복사하고 있습니다. 이제, 나는이 배열로 memcpy와 memmove를 수행 할 수있다. 그러나 realloc을 사용하면 잘못된 포인터 오류가 발생하며 그 이유는 전혀 알지 못합니다. 아무도 도와 줄 수 있습니까?
임이 코드 조각에 문제가 있습니다. 이미지 인코더를 만듭니다. 기본적으로 이미지의 값을 사용하여 인코딩 배열을 만들었습니다. 이 배열은 'codes'라고 불리며 이진 값의 char * 표현을 저장합니다. 이 섹션은 각 픽셀의 회색 값을 읽고 'codes'배열에서 해당 값을 찾고 이진 값 바이트 (tempString)를 압축합니다. 8 개의 값을 읽으면