반응형
- [쉽게풀어쓴C언어] 포인터 총 정리 5: 포인터와 배열주사위 clice배열의 이름은 그 자체로 포인터다 배열arr[]={first, second, third, forth}가 있다고 하자 first, second, third, forth가 각각 메모리 주소 00, 01, 02, 03에 저장된다고 할 때 printf arr=00이 출력된다 즉 배열의 시작주소 arr[0]이 출력된다 만약 다른 요소의 시작 주소를 출력하고 싶다면 *(arr+1) 이나 *(arr+2) 등으로 적으면 된다 *(arr+i)=arr[i] 둘은 동일하다 포인터 사용시 장점 연결리스트나 이진 트리 등의 향상된 자료 구조를 만들 수 있다 메모리 매핑 하드웨어 참조에 의한 호출 동적 메모리 할당
- 2024-02-03 20:34:10
- [쉽게풀어쓴C언어] 포인터 총 정리 4: 포인터와 함수(call by value, call by reference)주사위 clice함수 호출시 인수 전달 방식 값에 의한 호출 (call by value): 복사본이 전달된다 참조에 의한 호출(call by reference): 원본이 전달된다 c언어에서는 값에 의한 호출(call by value)만 지원한다 값에 의한 호출을 할 경우 복사본을 가지고 코딩을 하기 때문에 원본에 영향을 줄 수 없다 따라서 참조에 의한 호출(call by reference)을 하고 싶다면 포인터를 이용해 간접적으로 구현해야 한다 참조에 의한 호출(call by reference) 원본이 직접 전달된다 이것이 포인터로 가능한 이유는 포인터를 통해 원본 값에 접근, 수정이 가능하기 때문이다 #include void swap(int *px, int *py); int main(void) { int a=100, ..
- 2024-02-03 20:32:42
- [쉽게풀어쓴C언어] 포인터 총 정리 3: 포인터 연산과 주의할 점주사위 clice포인터의 연산 포인터의 사칙연산은 덧셈, 뺄셈만 가능하다 (나눗셈, 곱셈 불가) 덧셈과 뺄셈 연산 + - 바이트 단위만큼 증가한다 자료형의 크기가 s일때 포인터에 정수 n을 더하면 포인터 값은 s*n만큼 증가된다 단위 증가하는 값 char 1 short 2 int 4 float 4 double 8 int a=10; 예시* int *p; p=& p+1 중요 v=*p++ p가 가리키는 값을 v에 대입한 후에 p를 증가한다 v=(*p)++ p가 가리키는 값을 v에 대입한 후에 p가 가리키는 값을 증가한다 v=*++p p를 증가시킨 후에 p가 가리키는 값을 v에 대입한다 v=++*p p가 가리키는 값을 가져온 후에 그 값을 증가하여 v에 대입한다 네가지를 잘 구별해야 한다 하지만 전위 증감자 > 포인터 > 후위..
- 2024-02-03 20:31:12
- [쉽게풀어쓴C언어] 포인터 총 정리 2: 간접참조 연산자 *주사위 clice간접 참조 연산자 * 포인터 p가 가리키는 주소의 데이터를 읽는다: *p 포인터를 통해서 값을 읽어오거나 값을 변경할 수 있다 포인터가 가리키는 주소에 있는 데이터를 읽으려면 포인터 앞에 *를 붙이면 된다 이를 간접 참조라 한다 int i=10 (변수 이름: i) int *p; p=&i; (포인터 p는 주소, 그리고 그 주소에 있는 값을 읽어라.) &와 *연산자 포인터를 이용해 포인터가 가리키는 변수의 값을 변경 할 수 있다 예를 들어 char character=‘A’; char *pointer=&character; (선언과 동시에 초기화) 이면 pointer가 가리키는 값는 A이다 이때 *pointer가 가리키는 값을 변경하고 싶으면 *pointer=‘B’ 라고 해준다 그러면 이제 character=‘..
- 2024-02-03 20:28:59
- [쉽게풀어쓴C언어] 포인터 총 정리 1: 포인터란?주사위 clice포인터의 의미 변수는 컴퓨터 메모리에 저장된다 메모리의 주소를 가지고 있는 변수 바이트 단위로 주소가 있다 주소가 몇 바이트인지는 컴퓨터의 메모리에 따라 다르다 예를 들어 4바이트 컴퓨터에 저장되는 변수의 주소는 길이가 4이다 char: 1바이트 int: 4바이트 float: 4바이트 short: 2바이트 메모리 상에 주소 / 변수 이름 / 변수값 이 저장된다 & i 10 i=10; 후입선출(스택 구조이기 때문이다) ⭐️스택은 후입 선출⭐️ 주소 연산자 &(앤드) &가 변수의 이름을 받아서 변수의 주소를 반환한다 int i ; //변수 정의 & i ; //변수의 주소 가져오기 서식문자 %p사용 printf(“int i의 주소: %p”, &i); 주소의 크기는 하드웨어에 따라 다르다 예시) 32비트 컴퓨터..
- 2024-02-03 20:28:05
- [C언어] for문 예제 별찍기/별탑 쌓기주사위 clice🎲 1. 문제N을 입력 받고 이렇게 출력되도록 하여라 🎲 2. 알고리즘 짜기예제를 보고 규칙을 찾아야 한다. N=10일때 1. 총 줄의 수는 10개이다.2. 맨 아래 줄은 1개, 그 위는 3개... 21개 이런 식으로 2개씩 증가한다3. 맨 첫번째 줄은 Nx2-1개 이다4. 공백은 첫번째 줄 0개, 두번째 줄 1개, 세번째 줄 2개... 이런식으로 증가한다. for 문을 중첩하여 사용하면 된다. 🎲 3. 코드코드를 찬찬히 작성해보자.1). 사용자에게 총 줄의 수를 입력받는다. &를 이용하여 lines에 저장한다.printf("N="); scanf("%d", &lines); 2) 첫번째 줄의 별* 개수는 nx2-1개이다. 이를 변수 n으로 저장한다.int n = (lines * 2 - 1);..
- 2023-08-04 23:16:06
반응형
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)