변수, 문자열 차이
C언어에서 문자열은 배열로 선언되었을 때 이미 메모리 주소를 가지고 있다. 이는 배열 이름 자체가 해당 배열의 첫번째 요소를 가리키는 포인터로 해석되기 대문이다. 때문에 문자열 입력 시 &를 문자열 변수에 붙이지 않는다.
반면에 변수는 메모리 주소가 아니라 값 그 자체를 의미하므로 입력을 받을 때 &를 붙여 해당 변수의 주소값을 전달해야 한다.
지역변수, 전역변수
지역 변수는 함수 내에서만 생성되고, 전역 변수는 프로그램이 처음 실행되면 메모리 공간에 할당되어서 프로그램이 종료될 때까지 메모리 공간에 남아있는 변수다.
함수 내에 static을 사용할 수 있는데 이는 지역변수의 특징과 전역변수의 특징을 함께 가지고 있다.
함수 내에 static을 붙이게 되면
1. 선언된 함수 내에서만 접근이 가능하다. (지역변수 특성)
2. 딱 1회 초기화되고 프로그램 종료 시까지 메모리 공간에 존재한다. (전역변수 특성)
728x90
'Embedded > 3. C, C#, Python' 카테고리의 다른 글
C# - 문자열 / 예외 처리 (0) | 2024.04.22 |
---|---|
C# - 코딩 연습 / 1. Lotto 제작 / 2. 가위바위보 게임 (0) | 2024.04.22 |
C# - 클래스 (1) | 2024.04.15 |
C# - 구조체 / 열거형 (0) | 2024.04.15 |
C# - 코드 작성 연습 (숫자 맞추기 게임) (0) | 2024.04.10 |