스와핑의 경우 데이터를 변경하는 함수에 인수로 전달 된 데이터를 변경한다는 것을 알고 있습니다. 실제로는 C의 주소를 전달해야합니다. 변경할 데이터 정상적인 데이터 나 배열에 대해서는 매우 쉽지만, 배열 배열에 관해서는 막혔다. 혼란 스럽다. 내 주에서함수를 사용하여 배열 (행렬)의 값을 C 언어로 변경하십시오.
내가했다 : 코드의
int p[20][21];
FILE *f;
f=fopen("intro.txt","rt");
m=0;
n=0;
while((c=getc(f)) != EOF)
{
if(c==' ')
{
p[m][n]=0;
n++;
}
else if(c=='^')
{
pa[m][n]=5;
n++;
}
else if(c=='*')
{
p[m][n]=1;
n++;
}
else if(c=='#')
{
p[m][n]=-1;
m++;
n=0;
}
}
이 블록 내 txt 파일에 따라, 내 매트릭스를 만드는 것입니다. 이것은, 내 프로젝트에서, 이후에 사용할 행렬을 초기화하는 단계입니다. ,
p1m=0;
p1n=0;
p2m=19;
p2n=20;
p[p1m][p1n]=5;
p[p2m][p2n]=5;
하지만, 함수 내에서이 작업을 수행하는 기능에 내 매트릭스를 전달해야 내 매트릭스를 만든 후
는, 내가 좋아하는, 내 매트릭스의 다양한 위치에 일부 값을 변경해야 내 매트릭스가 내 메인 내에서 변경되게하십시오.
가 나는 등의 함수에서 매개 변수를 설정하기 위해 시도했다 :
void myfunc(int* p[20][21])
와의 접속이 주요 같은 :
(myfunc &p[20][21])
또는
void myfunc(int** p[20][21])
하지만 내가 추측 옳은 방식으로하고 있지 않습니다.
네, 일부 행렬 요소에 새로운 값을 할당하고 있습니다 만, myfunc (p20) [21]과 같이 main에서 함수를 호출하면 함수에서이를 수행합니다. C. –
@CristiCimpean : 당신은'myfunc (p);를 호출합니다. 그걸 편집하겠습니다. –
멋진. 나는 지금 어리 석다. 둘 다 고마워. –