[JAVA] 프로그래밍 - 전위연산과 후위연산 & 포인터 개념
2022 7/9 스터디 내용 정리
프로그래밍 언어 5가지 요소
☞ 변수와 값, 연산자, 흐름 제어(조건문,, 함수, 자료구조
반복문
● While 반복문 선언의 조건
- 최초 조건 선언 ex) i=0
- 반복문 수행 조건
- 반복문 탈출 조건
● For반복문 선언의 조건
- for (선언, 조건)
- 반복문 빠져나갈 조건 생성
● While VS FOR
☞ while은 유연하다 반복문 탈출 조건의 이동이 자유롭기 때문이다. For은 간결하다. 모든 조건의 위치가 고정되었기 때문
정보처리기사 프로그래밍 관련
1. 전위연산 & 후위 연산 (C만 해당됨)
- 전위 연산자: y=++i; 연산이 우선순위
- 후위 연산자: x=i++; 대입이 우선순위
(예시문제)
2. 포인터 (Pointer)
● 프로그래밍 변수 종류
- 기본형(원시형): int, char, float, double, boolen - 메모리 중 Stack에 값이 존재한다.
- 참조 변수(Reference) - , 메모리 중 Heap에 값이 존재 Stack에는 Heap의 주소가 존재한다. Stack으로 다 사용하기엔 빠르고 비싸서 효용성이 떨어지기 때문
● C 표시자의 의미
* : 가리키는 곳의 값 / Stack에 주소를 넣겠다.
& : 변수의 주소를 리턴한다.
- 예시 1
int*b; // 포인터를 사용하겠다는 선언(Stack을 레퍼런스 주소로 사용)
int*b=10; // b가 가리키는 곳의 값은 10이다.
printf("% d", b); = 2001 // 주소 값 출력
printf("% d",*b); = 10 // heap값 출력
- 예시 2
int a =10;
int*b;
b=&a // b값에 a메모리의 주소 값을 대입
*b = 10 // a의 값
(예시문제)
- 실제 C언어 코딩 결과
#include <stdio.h>
int main(void){
int n = 4;
int* pt = NULL;
pt = &n;
printf("answer = %ld\n", &n + *pt - *&pt + n);
printf("&n = %p\n", &n);
printf("*pt = %d\n", *pt);
printf("*&pt = %p\n", *&pt);
printf("n = %d\n", n);
return 0;
}
- 이중 포인터
int n = 4
int*pt1=&n
int**pt2 =&pt1; // 값에 주소 값이 들어가야 해당 수식은 참
*pt2 = ox100
**pt2 = 4
*pt1 = 4
스터디자료
SanYoonie 개발 블로그
이것저것 올리는 블로그입니당…✨
ssy02060.github.io