728x90
300x250

[C언어] 포인터를 이용한 배열 요소의 출력 - 1 -

배열의 경우에는 포인터와 가장 밀접한 관계(Relation)을 성립하고 있습니다.
결국 이 말은 배열을 포인터로 사용할 수 있다는 뜻이기도 하지요.

이론적인 부분들에 대해서는 별도로 교제를 사서 공부하시면 되겠습니다.
그래도 혹시나 하는 마음에 조금 설명을 하고자 합니다.


 p == a == &a[0], p+n == &a[n]
 *p == a[0],
 *(p+n) == a[n]
 p2 = &a[3] == p+3,
 p2+1 == &a[4] == p+4,
 p2+2 == &a[5] == p+5
 *p2 == a[3] == *(p+3)
 




1. 배열 요소로 쉽게 출력하는 방법

Example : a[3]의 값을 포인터 수식으로 표현한다고 가정하고, 다음의 절차를 따르도록 합니다.

[단계 1] : 배열 기호[]를 생략하고, 배열명 a앞으로 빼내면서 *로 바꿉니다.

*a3

[단계 2] : * 뒤에 남은 요소를 (배열명+첨자) 형태로 바꿉니다.

*(a+3)

이게 전부입니다. 참 쉽죠??

#include <Stdio.h>

int main()
{

 int a[5] = {100, 200, 300, 400, 500};

 int *nk;

 nk = a;

 printf("%d", *(nk));

}

반응형
728x90
300x250

[연산자와 C언어]

[논리식]
OR 연산자 : ||
AND 연산자 : &&
부정 연산자 : !

[비교식]
> : 크다
< : 작다
<= : 작거나 같다.
>= : 크거나 같다.

== : 같다.
!= : 같지 않다.


1. 연산자 - 소스코드

#include <Stdio.h>

main()
{
     
      // 기초논리회로 실습 (정정: 논리회로->연산자)
      
      int b1, b2, b3, b4;
     
      b1 = 10;
      b2 = b1 || 5>10;
      b3 = b1 && 5>10;
      b4 = !b3;     

      printf("B1 %d\n",b1);
      printf("B2 %d\n",b2);
      printf("B3 %d\n",b3);
      printf("B4 %d\n",b4);
     
}



 

반응형
728x90
300x250

C언어 입문을 시작합니다.

C언어를 자세히 소개하자면 너무나 방대하므로 이하 생략하겠습니다.
(추후 글에서 소개할 수 있으면 하겠습니다.)
프로그래밍을 빨리 입문하는 방법은 직접 프로그램을 작성해보는 것입니다.

#include <Stdio.h>

main()
{
       printf("Hello, world\n");
}

이 프로그램을 editor(비주얼스튜디오와 같은 프로그래밍 편집기 혹은 메모장 등)로 작성한 다음에 Hello.c라고 저장합니다.

잠깐......
Unix기반에서는 컴파일을 할때는 어떻게 하나요?

cc Hello.cc

라고 입력하면 컴파일이 됩니다.

#include <stdio.h>

라고 써준 부분은 표준 입출력 라이브러리(Stdio.h)를 불러오는 것입니다.

위 프로그램은 함수이름이 main()로 되어 있으므로 메개변수가 없다는 말이 됩니다.
메개변수가 없을 때에도 괄호는 꼭 있어야 합니다.
중괄호 { } 는 문장들을 묶어서 하나의 덩어리(복합문 또는 블록)로 만들어 주는 역할을 합니다.
이것은 PL/1의 DO-END나 Algol, Pascal의 begin-end와 비슷합니다.

printf는 함수를 호출하는 명령어이며
메개변수는 "Hello, World\n" 입니다.

인용부호 사이에서는 줄을 바꾸어 쓰면 안됩니다.

예제2)

#include <Stdio.h>

main()
{
       printf("Hello, ");
       printf("world");
       printf("\n");

}

반응형

+ Recent posts