내 기능 :어떻게 정수 포인터
int f1(int* r1, int* r2, int* r3, int* r4) {
*r1 = 1;
*r2 = 343;
*r3 = 34;
*r4 = 3;
return c; // c = 1 if success
}
caller:
f1 (&r1, &r2, &r3, &r4);
내가 네 int
포인터의 배열을 전달해야한다, 내 기능을 단순화하고 싶다면? 아니면 4 개의 배열로해야합니까 int
?
int f1(int* r1[4])?
또는
int f1(int r1[4])?
감사합니다.
이 솔루션은 안전하지 않습니다. – kotlomoy
@kotlomoy 어떤 의미입니까? –
'p [4] = 5' - 코드에 약간의 추가로 버퍼 오버 플로우가 발생합니다. 그것을 인식 할 힌트가 없습니다. 확실히 반대로, void f (int p [4])의 경우에는 좋은 컴파일러 또는 코드 분석기 또는주의 깊은 프로그래머가 버퍼 오버플로를 catch합니다. – kotlomoy