컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Vim (Vi)에디터] 구문강조/문법강조 명령어, vimrc 설정법; Syntax High...Vim (Vi)에디터] 파일의 맨 첫 줄/마지막 라인으로 이동 핫키; Go Top Bott...Vim Vi 블록 선택, 복사, 붙이기, 칼럼 영역 선택하기; Select Copy Pas...Linux/리눅스] bash 히스토리(History)기능 강화(검색) 설정; History...C언어] 1차원 배열 선언, 배열 초기화 예제: One-Dimensional Array I...텍스트파일 인코딩/언어 알아내기, 자동 판단; Encoding Auto-Detect Eme...일본어 고전 소설 원문 무료로 공개; 아오조라 문고 Aozora Bunko리눅스(Linux) 유닉스(Unix) 명령어 목록: Command ListJava/자바] Date 클래스; 현재 날짜/시간/요일, 간단히 출력 예제Java/자바] 세계 시간; 각국 현재 시각 얻기; World Time, TimeZone ...

C언어] 배열 포인터를 함수의 인수(파라미터)로 전달; Array Pass to a Function

Monday, November 06, 2006

1차원 배열을 다른 함수로 전달할 때에는 다음과 같은 방법들이 있습니다. 대부분 맨 마지막의 방법을 쓰면 됩니다.


일차원 정수 배열을 함수로 전달 예제


파일명: 0.cpp
#include <stdio.h>

void test(int* array, int index);


int main(void) {

  int array[3] = { 111, 222, 333 };

  // *** 포인터 변수 만들어서 ***
  // 포인터 변수인 ptr 에, array 라는 배열의 첫번째 요소의 번지가 대입
  int* ptr = array;
  // int* ptr = &array[0]; // 이렇게 해도 똑같음

  test(ptr, 3); // test() 함수에, 배열 포인터와, 요소 개수 전달



  // 포인터 변수 ptr 을 만들지 않고 그냥
  // test(&array[0], 3);
  // 이렇게 직접 첫번째 요소의 주소를 넘겨주어도 됨



  // *** 가장 간단한 방법 ***
  // 배열을 함수의 인수로 넘기면 항상 첫번째 요소의 주소만 넘어가므로
  // test(array, 3);
  // 이렇게 해주어도 됩니다. 즉, 배열의 이름은, 배열 첫번째 요소의 번지입니다.

  return 0;
}



void test(int* array, int index) {
  for (int i = 0; i < index; i++)
    printf("[%d] = %d\n", i, array[i]);
}

/* 출력 결과:

[0] = 111
[1] = 222
[2] = 333

*/


test()함수에서, index 인수를 배열 요소의 개수만큼 지정하면 배열 전체가 출력되고, 예를 들어 2를 입력하면 [0]~[1]번 요소만 출력됩니다.



▶▶ 2차원 배열, 함수 인수(파라미터)로 전달: 2-Dimensional Array, Pass to a Function

☞ C/C++

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top