Study

    [C언어] 포인터와 배열에 관한 개념 정리.

    ★ 포인터와 배열 - 인덱스 없이 배열명만 사용하면 배열의 시작 주소를 의미한다. - 배열의 시작 주소를 구할대는 & 없이 배열명만 사용한다. - 배열명은 포인터인 것처럼 사용할 수 있다. 즉, 인덱스를 사용하는 대신 배열의 시작 주소로 포인터 연산을 하면 배열의 특정 원소에 접근할 수 있다. - 배열의 시작 주소로 초기화된 포인터를 이용해서 배열의 모든 원소에 접근할 수 있다. - 포인터 변수를 배열 이름인 것처럼 사용할 수 있다. 포인터와 배열의 차이점? - 배열이 메모리에 할당되고 나면, 배열의 시작 주소를 변경할 수 없다. - 포인터 변수는 값을 변경할 수 있으므로, 포인터 변수에 보관된 주소는 변경할 수 있다.

    [C언어]포인터 연산에 대한 개념 정리.

    ☐ 포인터 연산 - p+N은 p가 가리키는 데이터형 N개 크기만큼 증가된 주소가 연산의 결과이다. - p-N은 p가 가리키는 데이터형 N개 크기만큼 감소된 주소가 연산의 결과이다. '포인터'-'포인터' 연산은 두 포인터의 차를 구하는데 사용된다. 포인터에 대한 증감 연산(++,--)도, 포인터형에 의해 연산의 결과가 결정된다.

    [C언어] 포인터에 대해서 알아봅시다.

    포인터는, 주소를 저장하는 변수 입니다. 즉, 포인터는 다른 함수를 가리키는 화살표 같은 변수죠. 이를 이용해서, 특정 변수에 접근할 수 있도록 도와줍니다. 그리고 포인터변수의 크기는 모두 4바이트 입니다. /* 메인 및 헤더 생략 */ char* aaa; int* bbb; double* ccc; /*sizeof(ccc) 로 크기 출력가능, 포인터 변수는 항상 4바이트.*/ printf("aaa, bbb, ccc의 크기 : %d, %d, %d\n", sizeof(aaa), sizeof(bbb), sizeof(ccc)); 실행결과 aaa, bbb, ccc의 크기 : 4, 4, 4 이렇게 확인이 가능합니다. int aa1; int* pp1; pp1 = &aa1; /* aa1의 주소값을 포인터 변수 pp1에 ..

    [C언어]배열, 다차원 배열과 문자열에 대해서 알아봅시다.

    배열은, 빼놓을 수 없는 필수요소라고 할 수 있습니다. 우리가 보통, 5개의 정수를 입력받고자 한다면 5개의 정수형 변수를 선언해야 합니다. int a, b, c, d, e; /* 5개의 정수를 입력받기위한 5개의 변수 */ 하지만 배열을 이용하게되면, 같은 데이터형의 변수를 메모리에 연속적으로 할당시키고 같은 이름으로 사용할 수 있게 합니다. int arr[4]; /* arr[0] 부터 arr[3]까지 크기가 4인 배열 선언 */ 이렇게 배열을 사용하게 되면, arr[0], arr[1], arr[2]. arr[3] 이렇게 같은 함수의 이름으로, 번호를 지정해서 사용할 수 있습니다. 주의해야할 점은, arr[4] 라면, arr[0]부터 arr[3]까지 크기가 4인 배열을 선언 하게 되는 것 이므로 int..

    [C언어] 변수와 데이터형 알아보기.

    오늘은, 변수와 상수의 개념, 리터럴 상수, 매크로 상수, const 변수 및 C언어의 데이터형에 대해서 알아보려고 합니다. 데이터형에는, 문자형, 정수형, 실수형이 있고, 참고로 sizeof 연산자도 알아 보겠습니다. 변수는, 값이 변경될 수 있는 데이터이고 상수는, 값이 변경될 수 없는 데이터 입니다. 데이터를 보관해야 할 필요가 있다면, 변수를 사용해서 데이터를 보관합니다. 이렇게 변경될 수 있는 데이터는, 메모리(memory)에 저장이 됩니다. 여기서 메모리는, 연속된 데이터의 바이트(byte)들의 모임을 말합니다. 그리고 여기서 각 바이트(byte)들은, 주소를 갖습니다. 메모리에 저장할 데이터 값의 형식(type)에 따라, 메모리가 얼마만큼 필요한지 결정이 됩니다. 문자 하나를 저장하기 위해서..

    [C++] 입력받은 숫자 두개를 더해주는 프로그램 코드입니다.

    C++를 이용한 간단한 코딩입니다. #include int main(void){ int UserInput_1=0; int UserInput_2=0; printf("첫번째 정수를 입력하세요. \n > > > "); scanf("%d", &UserInput_1); printf("두번째 정수를 입력하세요. \n > > > "); scanf("%d", &UserInput_2); printf("%d, 그리고 %d의 합은 %d입니다.\n",UserInput_1, UserInput_2,(UserInput_1+UserInput_2)); UserInput_1, UserInput_2 를 정수값(int)로 지정하고, scanf를 이용하여 입력값을 받아와 간단히 연산해서 출력하는 프로그램입니다.