문준영
새벽 코딩
문준영
전체 방문자
오늘
어제
  • 분류 전체보기
    • 웹 개발
    • JAVA
      • 기본 문법 내용 정리
      • 함수 내용 정리
      • 쉽게 배우는 자바 프로그래밍 문제 풀이
    • HTML
      • HTML
      • CSS
      • 문제풀이
    • JavaScript
    • MYSQL
    • C
      • 기본 문법 내용 정리
      • 백준 알고리즘 (c언어)
      • 자료구조
    • Python
      • 참고 알고리즘
      • 기본 문법 내용 정리
      • 자료구조 내용 정리
      • 백준 알고리즘 (파이썬)
    • 깃허브
    • 멀티잇 풀스택

티스토리

hELLO · Designed By 정상우.
문준영

새벽 코딩

c언어 정리 포인터
C/기본 문법 내용 정리

c언어 정리 포인터

2021. 7. 7. 17:28

배열 원소 개수 ,문자 원소 개수= sizeof(배열명) / sizeof(자료형);
문자 원소 개수 =  strlen(배열명)
배열[인덱스] 의 길이 = count 변수와 for문을 이용하여 count 가 해당 인덱스 번호의 길이


배열 출력
1. 값: 변수[i]              주소: &변수[i]
2. 값: *(변수 +i)          주소: 변수+i
3. 값: *(포인터 변수 +i) 주소: 포인터 변수 +i

프로세스는 메모리에 적재되어 실행중인 프로그램 / 종료시 메모리에 소멸

포인터 - 실행중인 프로세스의 임의의 주소
포인터 변수- 값이 아닌 메모리 주소를 저장하는 변수
형식: 자료형 *변수;
포인터의 특징
1. 변수를 포인터 변수에 넣기 위해서는 변수가 아닌 변수의 주소를 할당해줘야 한다. (&)
2. 상수나 수식의 주소를 갖지 않는다.
3. 포인터 변수의 자료형은 참조할 데이터의 자료형과 같아야 한다.
4. 포인터 변수는 자료형과 관계없이 동일한 크기로 할당 됨. (운영체제에 따라 다름)
포인터 사용 시 주의 할 점
1. 포인터를 선언하고 주소를 대입하고 사용해야 한다.
2. 일반 변수는 간접참조 할 수 없다.

포인터 변수를 이용하여 문자 개별 출력
while ( *포인터 변수){
출력구문 : %c , *포인터 변수 ++  // 다음 주소로 이동 "\n" 이 나오면 종료
 
* 변수와 포인터 변수의 차이
변수는 값 : 변수 주소: &변수 , 직접 접근 
포인터 변수는 값: *변수 주소: 변수 ( 주소를 사용하여 가리키는 곳의 내용 접근 ) , 간접 접근
* 문자열은 시작주소를 지정한다. 그렇기에 &를 쓰지 않는다. 값과 주소 또한 변수로 표현

call by value - 매개변수에 복사되지만 실 인수에 영향을 미치지 않고 소멸된다.
call by reference -매개변수에 복사되고 주소 값이 바뀌어 실 인수에 영향을 미친다.

배열을 함수의 인수로 전달할 경우 배열의 시작 주소만이 전달되기 때문에 반드시 포인터로 선언해야 된다.
*(포인터 변수 +i)

매개변수 전달 방법 
1. 반환형 함수(자료형 *포인터 변수)
2. 반환형 함수(자료형 포인터변수[배열 크기])
3. 반환형 함수(자료형 포인터변수[])


포인터 배열 
선언 :자료형 *배열이름[크기]  

포인터 배열의 크기 : 크기*4

 

 

'C > 기본 문법 내용 정리' 카테고리의 다른 글

3장. 연산자  (0) 2022.01.26
2장. 변수와 데이터 입력  (0) 2022.01.25
1장. 상수와 데이터 출력  (0) 2022.01.25
c언어 기본 문법 정리  (0) 2021.08.30
C언어 배열과 문자열  (0) 2021.07.05
    'C/기본 문법 내용 정리' 카테고리의 다른 글
    • 2장. 변수와 데이터 입력
    • 1장. 상수와 데이터 출력
    • c언어 기본 문법 정리
    • C언어 배열과 문자열
    문준영
    문준영
    공부한 내용 정리!

    티스토리툴바