본문 바로가기

실험보고서

C언어정리 일곱번째 (중요-포인터)

안녕하세요!! 평생 행복 하고픈 콘텐츠 마케터 입니다.

오늘은 해피캠퍼스에서 발췌한 “C언어정리 일곱번째 (중요-포인터)” 내용을 정리하여 알려드립니다.

목차

11. 포인터
11.1포인터란?

 

본문내용일부

11. 포인터
11.1포인터란?
-포인터는 메모리에 있는 데이터의 주소를 가지고 있는 변수이다.
(메모리에 있는 데이터들은 모두 주소를 가지고 있다.)
-포인터는 변수이지만 데이터의 값을 가지고 있는 것이 아니고 데이터의 주소를 가지고 있다.
-데이터의 복사를 피하고 데이터를 공유하여 작업하고자 할 때 포인터를 사용하게된다.
-포인터는 메모리의 주소를 가지고 있는 변수이다.
-포인터는 변수가 저장되는 주소와 깊은 관계가 있다.
♣변수는 컴퓨터 메모리에 저장된다.
-일반 변수는 int 형 임의의 4바이트에 char형 임의의 1바이트에 들어간다. 일반변수는 다 바이트가 다 다르지만 포인트변수는 임의의 4개의 바이트 중 제일 선두를 가지며 자료형이 무엇인가에 상관 없이4바이트 수를 갖는다.
▣주소 연산자 & %u p428
#include

int main(void)
{
int i = 10; //임의의 4바이트에 10을 저장한다.
char c = 69; //임의의 1바이트에 69를 저장한다.
double f = 12.3; //임의의 4바이트에 12.3을 저장한다.

< 중 략 >

♣여러 개의 포인터 변수를 한줄에 선언할 때는
Int *p1,*p2,*p3;라고 선언 해야함
♣포인터와 변수의 연결
-포인터에는 변수의 주소가 저장되어야 하므로 &연산자를 이용하여 변수의 주소를 계산하여 포인터에 대입하여 주면 된다.
-일반변수와 포인터변수의 초기값 선언
Int i=10; //정수형 i를 선언하고 초기값을10으로 준다., 일반 값이 들어간다.
Int *p =&I; //변수 i의 주소가 포인터 p로 대입 ,I 주소가 들어 간다.
-ex. 변수 i의 주소가 4이고 p-&i의 연산을 실행하면 변수 i의 주소인 4가 p에 대입된다.
-다양한 포인터의 선언
Char c=’A’; //문자형 변수 C에 A를 저장하겠다. (1바이트)
Float f=36.5; //실수형 변수 f에 36.5를 저장하겠다(4바이트)

 

참고문헌

쉽게 풀어쓴 C언어 Express

해당 자료가 필요하신 분은 “C언어정리 일곱번째 (중요-포인터)” 으로 해피캠퍼스에서 확인해 보세요.