jintArray buf_dec = (*env)->NewIntArray(env, size); // 사이즈를 통해 아웃풋할 새로운 버퍼 생성
jint *o_arr = (*env)->GetIntArrayElements(env, buf_src, NULL); // 입력받은 버퍼를 포인터로 정의 (변수 계산을 위해)
jint *n_arr = (*env)->GetIntArrayElements(env, buf_dec, NULL); // 아웃풋할 버퍼에 넣을 포인터로 정의한다
jint j =0;
int n;
for (i=0; i<cy; i++) {
for(j=0; j<cx; j++) {
n_arr[cx*i + j]= o_arr[cx*i + j] +100;
}
}
(*env)->ReleaseIntArrayElements(env, buf_src, o_arr, 0); // oarr 포인터값을 인풋한 buf에 넣고 프리한다.
(*env)->ReleaseIntArrayElements(env, buf_dec, n_arr, 0); // narr 포인터값을 아웃풋할 newbuf에 입력한고 free한다
return buf_dec;
지금 이렇게 코딩을 하고 이제 buf-dec를 불러와서 출력을 하면 됩니다. C안에서 계산을 하려고하는데, 주소도 이상하게 잡히고, 저 가운데 for문에 어떤식으로 수정을 해야할지 궁금해서 질문올립니다. 직접 숫자나 변수를 입력하면, 에러가 나 n_arr의 변수를 고치기위해서는 어떤식으로 바꿔야하는지 궁금합니다.