2x2 char 행렬을 함수에 전달하려고합니다. 그래서 내부의 값을 수정할 수 있습니다. 지금 제 코드에서 변경된 유일한 값은 행렬의 첫 번째 행이고 행 1은 변경되지 않습니다. 콘솔참조로 C 배열을 전달하고 값을 수정하십시오.
, 내 결과가
C[0] = ab
C[1] =
그래서 C [1] 내 기능에 업데이트되지이다, 무슨 일이 일어나고 있는지 알아 내기 위해 저를 도와주세요.
여기에 함수 프로토 타입은해야 당신이 C. 에 matriz를받는 함수를 선언하는 방법되지 않는 코드
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void changeMatrix(char (*matrix)[2][2]){
strcpy(*matrix[1], "cd");
strcpy(*matrix[0], "ab");
}
int main(){
char C[2][2];
changeMatrix(&C);
printf("C[0] = %s \n", C[0]);
printf("C[1] = %s \n", C[1]);
}
문자열에 3자를위한 공간이 필요합니다. 2 자 + '\ 0'(문자열 터미네이터). –
그게 전부입니다. 고맙습니다. 그러나 이제 1 위는 쓰레기와 함께 나옵니다. C [0] = ab C [1] = t cd –
모든 포인터 항목이 필요하지 않습니다. '*'와'&'를 모두 제거하십시오. –