현재 이미지의 320x240 배열을 만들려고하고 있지만 픽셀은 한 번에 320 개씩 줄 단위로 전송됩니다. 그래서 저는 카운트가 240 인 루프를 실행하는 것에 대해 생각했습니다. 각 카운트에서 더 작은 배열 [320]을 더 큰 배열 [320]에 삽입하는 것입니다. [320]큰 배열을 작은 배열로 만드는 방법은 무엇입니까? 세분화 오류
여기 코드는 제가 그렇게했습니다. 멀리.
int main()
{
int mi,mj,this;
while(this < 240)
{
decodeHex(stringToDecode,hexValues);
compile(this,hexValues);
this=this+1;
}
for(mi = 0; mi < 240; mi=mi+1)
{
printf("\npctureArray [%d][%d]\n",mi,320);
for(mj=0; mj < 320;mj=mj+1)
{
printf("%lx",pictureArray[mi][mj]);
}
}
return 0;
}
void decodeHex(char * encodedString,unsigned long * hexConverted)
{
int i;
unsigned long offset = 0x41;
for(i=0;i<strlen(encodedString);i = i+3)
{
*hexConverted = (((unsigned long)encodedString[i]- offset) << 8) | (((unsigned long)encodedString[i+1] - offset) << 4) | ((unsigned long)encodedString[i+2] - offset);
hexConverted = hexConverted + 1;
}
}
void compile(int i,unsigned long * ptr)
{
int j;
for(j= 0;j<320;j=j+1)
{
pictureArray[i][j] = (unsigned long)*(ptr+j);
}
}
코드 디코더 부분이 문자 배열 [960]를 수신하고, 그래서이 부호 길이 배열로 변환된다 [320] < --- 3분의 960 = 320 RGBS
I 혼란있어 내 코드가 세분화 오류가있는 이유는 무엇입니까? 아무도 들여다보고 여기에없는 것이 있으면 알려 줄 수 있습니까?
'this'는 초기화되지 않았으며 값은 불확정합니다. 초기화되지 않았습니다. 'this'가 C++의 키워드라는 점을 감안할 때 이는 아마도 식별자로서는 좋지 않은 선택 일 것입니다. –
질문은 C++가 아니라 C에 관한 것으로 보입니다. 따라서 식별자로 'this'가 문제가되지 않아야합니다. –
감사합니다! 어쨌든, 나는 이미 그것을 분류했다. 문제는 문제는,에 char 배열 [960] =이었다이었다 ".... 960 개 문자 ..." 난 당신이 문자열 그런 식으로 선언 할 때 문자 배열 [#해야한다고 생각하기 때문에 ofelems +1] = ".... #ofelems ...." 마지막 줄 "\ 0"때문에 – nciacrklo