반응형

C언어 4

11-2) 배열 시작 주소

배열 변수의 이름은 배열의 시작 주소 포인터는 일반 변수의 주소만 가질 수 있는 것이 아니라 배열과 같이 그룹으로 묶인 메모리의 주소도 가질 수 있다. 포인터 변수에 배열의 시작 주소를 대입할 때는 일반 변수와 마찬가지로 &연산자를 사용하면 된다. 배열의 경우에는 첫 요소인 data[0]의 시작 주소가 배열 전체의 시작 주소와 같기 때문에 다음과 같이 &연산자를 사용한다. char data[4]; char *p = &data[0]; //배열의 첫 번째 항목의 주소가 배열 전체의 시작 주소와 같음 위 설명에서 사용한 &data[0]은 포인터 표기법을 사용하면 &*(data+0)과 같이 표기할 수 있다. 그리고 +0은 생략할 수 있기 때문에 & *data라고 적어도 된다. char *p = &data[0] ..

C언어 2021.03.14

10-2) 표준입력함수 - scanf

만능 표준입력 함수 scanf 표준 입력 함수인 scanf는 scan format을 줄인 이름이다 getchar 함수는 하나의 문자를 입력받는 함수이고 gets 함수는 문자열을 입력받는 함수이다. 그런데 이 scanf 함수는 다양한 키워드를 사용하여 문자, 문자열 뿐만아니라 정수, 실수까지 모두 입력 받을 수 있도록 형식화된 입력을 제공한다. 형식화된 입력이란 자신이 입력 받을 데이터의 종류, 자릿수, 입력형식 같은 것을 지정할 수 있다는 뜻이다. 키워드 키워드 %d %hd %f %lf %c %s 입력형식 정수(Int) 정수(short int) 실수(float) 실수(double) 문자 문자열 scanf 함수를 사용하는 기본 형태는 다음과 같다. int data; scanf("%d",&data); %d ..

C언어 2021.03.03

9-1) 포인터 변수의 주소 연산

사용할 메모리의 범위를 기억하는 방법 자신이 사용할 메모리의 범위를 기억하는 방법은 크게 두가지가 있다. 시작주소와 끝 주소로 메모리 범위 기억하기 시작주소와 끝 주소로 메모리 범위를 기억하려면 각각의 주소를 기억하는 데 총 8바이트가 필요하다. 시작주소인 100번지를 저장하는데 4바이트가 필요하고 끝 주소인 103번지를 저장하는데 또 4바이트가 필요하기 때문이다. 시작주소와 사용할 크기로 메모리 범위 기억하기 '시작주소'와 '사용할크기'로 메모리 범위를 기억하는 것도 두가지 정보를 기억해야 합니다. 시작 주소인 100번지를 저장하는 데 4바이트가 필요하고, 사용할 크기를 저장하는데 또 4바이트가 필요합니다. 그런데 c언어 문법은 메모리를 사용할 때 항상 그 메모리의 크기를 먼저 결정하도록 되어 있다. ..

C언어 2021.02.08

1) 자료형

정수형 자료형 signed char : 부호가 있는 1바이트 저장 공간 1바이트 크기의 자료형으로 첫 1비트는 부호비트로 사용된다 (0이면 양수, 1이면 음수) 양수는 총 128개의 숫자(0~127)중 하나를 저장할 수 있다. 음수는 총 128개의 숫자(-128~-1)중 하나를 저장할 수 있다. 따라서 signed char 자료형은 -128~127의 숫자중 하나를 저장할 수 있는 크기다. unsigned char : 부호가 없는 1바이트 저장 공간 부호 비트 없이 1바이트(8비트) 전체를 숫자 저장 공간으로 사용하기 때문에 256개의 숫자(0~255)중 하나를 저장할 수 있는 크기다. signed short int : 부호가 있는 2바이트 저장 공간 *int는 정수를 뜻하는 integer의 약자 2바이트..

C언어 2021.01.07
반응형