C언어 함수에서 리턴값을 배열로 받아오는 테크닉 없을까요?

C언어 함수에서 리턴값을 배열로 받아오는 테크닉 없을까요?

작성일 2020.08.25댓글 2건
    게시물 수정 , 삭제는 로그인 필요

배열값을 바꾸는 함수를 만들어 보려고 했는데

리턴값을 배열의 모든 인덱스 자체로 받아오지 못해서 고민입니다.

배열자체는 주소를 바꾸지 못하니 함수에서 배열을 바꾸고 이 주소로 바꿔보려해도....

배열주소를 받아올 수는 있으니 배열시작주소를 이용해서 인덱스별 내부값을 꺼내오려고 해도

주소를 증가시켜봐도 잘 안되네요...

static이나 전역변수를 쓰지 않고 함수만으로 배열안의 값을  함수를 벗어난 채로도

고정되게 바꾸고 싶은데... 그냥 단일 수면 괜찮은데 배열이라서 어렵네요.

쉬운 테크닉 없을까요?


#c언어 함수에서 참조되는 확인할 수 없는 외부 기호 #c언어 함수에서 프로그램 종료 #c언어 함수에서 다른 함수 호출

profile_image 익명 작성일 -

설명해주시는 것의 내용만으로는 질문자께서 원하시는 처리가 무엇인지 이해하기 어렵습니다. 일단

배열주소를 받아올 수는 있으니 배열시작주소를 이용해서 인덱스별 내부값을 꺼내오려고 해도

주소를 증가시켜봐도 잘 안되네요...

라는 질문에서는

int arr1[10] = {0,1,2,3,4,5,6,7,8,9};

int arr2[10] = {9,8,7,6,5,4,3,2,1,0};

int* ptr = arr1;

ptr[0] == 0 (True)

ptr = arr2;

ptr[0] == 9 (True)

가 됩니다. 이것을 이용해서 포인터로 배열을 지정하여 포인터를 배열처럼 Indexing 하여 값을 가져올 수 있습니다. for문에서 ptr[i] 이런식으로 가져올수 있다는 것입니다.

static이나 전역변수를 쓰지 않고 함수만으로 배열안의 값을 함수를 벗어난 채로도

고정되게 바꾸고 싶은데...

이 질문도 포인터로 변경하면 실제 배열도 변경되게 되니 함수 안에서 처리하고 함수 밖에서도 배열의 값이 변경되게 됩니다.

질문자께서 어떤 처리를 하려고 이 질문을 하신건지 자세히 설명해주셨으면 좀 더 좋은 답변이 가능할 것 같습니다.

profile_image 익명 작성일 -

함수의 매개변수로 복제할 배열의 주소를 전달하여 처리하는 방법 외에

다른 방법이 없습니다.

php 파이썬 리턴값 받아오기 질문이요

... 2차원 배열 리턴값을 받아올 수 있는 방법 없을까요?? ㅠㅠㅠ 파이썬 코드 return... exec 함수를 통해서 받아올 수 있습니다. 그 방법은 아시듯이, 단순 출력되는...

C언어 배열

안녕하세요 C언어를 배우고 있는... 랜덤으로 받아 배열 생성 2. 0에서 200 사이의... 함수(function)에서 한 개의 리턴값(single return) 사용 5....

c언어 배열과 포인터 질문

... c언어배열을 사용해서 1~100까지의 정수를 scanf로 두 숫자를 입력받아 예를들면 4와 50을... /* sum_func()함수 호출 ... 리턴값을 sum에 저장 */ sum=sum_func...

c언어 구조체 배열쪽 질문이요

... 타입의 배열을 매개변수로 받아서... //여기 리턴값을 어떻게 줘야하는지... //< 출력용 함수( 배열과 , 사이즈를 받습니다. ) void...

c언어 배열관련 질문

... 그런데 copyArray에서의 리턴값에서 문제가 생기는듯. return 0; } void... 여기서 만들어진 일차원 배열을 다른 함수에서 받아서 쓸 수가...

c언어 유저함수 질문입니다

c언어 고수 분들께 여쭈어 보고 싶습니다 (성의없게 답해... printf("%d \n",sum);// 함수호출시 리턴값을 int를 선언해두었기 때문에 int타입의 변수로 받아야 합니다. } int...