Programming/C & C++ 6

[c 언어] 포인터와 call by address : 실제 값에 영향 있는 경우와 없는 경우!

1. *a는 int형 정수 "aa = 1"을 참조, *b는 int형 정수 "bb = 2"를 참조 2. (&aa, &bb)로 주소를 매개변수로 전달 (1, 2의 주소 값) 3. 주소 값을 swap했지만 main에서 swap이 이루어지지 않음 -> 주소로 전달하고 주소 swap을 했지만, 복사된 인자들이 참조하는 주소를 swap해서 실제로 swap이 이루어지지 않음 1. 문자열을 가리키는 *a, *b 2. 참조하는 문자열의 주소가 아닌, a, b의 주소를 매개변수로 전달 3. 복사된 새로운 *a, *b는 main에서의 a, b 주소가 가리키는 문자열 swap 4. 함수 종료 후 main 함수에서는 a, b가 가리키는 문자열이 swap 됨 전달되는 매개변수는 값을 복사해서 쓰이기 때문에 새로운 변수임을 잊지 ..

Programming/C & C++ 2021.03.27

[C언어] 포인터 문자열 VS 배열 문자열 (같지 않다!)

포인터를 이용한 문자열은 "리터럴 문자열"로 내용 수정이 불가능 하지만 주소값 변경을 이용한 값 변경은 가능하다 배열을 이용한 문자열은 내용 수정이 가능 배열의 주소값 변경이 불가능하다 (arr++ 가 불가능) 아래 예시 참고 #include void func(char *str, char *arr) { printf("%c\n", *str);// str[0]문자 'p' 출력 printf("%s\n", str);// str 문자열 "pointer" 출력 printf("%s\n", arr);// arr 문자열 "array" 출력 //str[0] = 'P'; 포인터 문자열 = 리터럴 문자열 = 문자 값 수정 X arr[0] = 'A';// 배열 arr[0] = 'A' 로 값 수정 ("Array") printf(..

Programming/C & C++ 2021.02.25

[C#] 입출력과 데이터

1. 입출력 - 입력 : Console.ReadLine(); // "문자열"로 입력됨 - 한 줄 출력 : Console.WriteLine("한 줄 출력"); - 출력 : Console.Write("줄 바꿈 없이 출력"); 2. 데이터 - var : 선언시 초기화 필수 - '?' : nullable, null 값 저장 가능한 데이터 ( ex. int? a = 1; ) - const : 불변 변수 이용할 경우 사용, 변수명 대문자로 설정하기 (ex. const int MIN = 0; // 최소값) - object : 다양한 데이터로 저장 가능 - int, float, double, decimal, char, bool 등 존재 3. 문자열 수 : ToString(), Parse, Convert - 문자열로 바..

Programming/C & C++ 2020.10.07

[C++] c++ 시작하기 : cout, cin, namespace, 오버로딩

1. cout, cin : 입출력하기 #include int main() { std::cout > name >> age; 와 동일 return 0; } #include 은 헤더로 input output stream 입출력을 의미한다. main함수에서 std 는 namespace로 아래에 추가 설명을 하겠다. :: 은 범위 지정 연산자로 namespace를 가리킬때 사용하는 연산자이다. cout은 console output으로 출력을 의미하고, cin은 console input으로 입력을 받게한다. 2. namespace과 using #include namespace A { void Add() { printf("A의 Add() 호출\n"); } void Minus() { printf("A의 Minus() ..

Programming/C & C++ 2020.05.18

[C++] 상속 실습

//실습 1번 #include using namespace std; class BaseArray { private: int capacity; //배열의 크기 int* mem; //정수 배열을 만들기 위한 메모리의 포인터 protected: BaseArray(int capacity = 100) { this->capacity = capacity; mem = new int[capacity]; } BaseArray() { delete[] mem; } void put(int index, int val) { mem[index] = val; } int get(int index) { return mem[index]; } int getCapacity() { return capacity; } }; class MyQueue..

Programming/C & C++ 2017.11.17