전체 글 226

sizeof 연산자 O 함수 X

자료형(타입)의 크기를 바이트(byte) 단위로 구하는 sizeof 연산자 컴파일러가 수행하고 CPU가 실행하지 않는 특수한 연산자 sizeof 표현식 sizeof(자료형) sizeof(표현식) #include int main() { int num = 0; int sz1,sz2; sz1 = sizeof(num); // 변수 num의 자료형 크기를 구함 sz2 = sizeof num ; //괄호가 필수가 아니다. printf("num 크기: %d byte\n", sz1); printf("num 크기: %d byte\n", sz2); } sizeof int와 같은 형식으로는 자료형의 크기를 구할 수 없다 >> sizeof(자료형) 형식사용 sizeof 연산자는 피연산자의 자료형에 대한 연산 >> sizeof..

C/C 2022.10.04

scanf() 표준 입력 함수

표준 입력(콘솔에 입력) 으로 사용자의 입력을 받아 입력 값을 변수에 저장 헤더파일 stdio.h 정수를 입력 #define _CRT_SECURE_NO_WARNINGS #include int main(){ int num; printf("정수를 입력"); scanf("%d",&num); printf("%d\n",num); } scanf( ) 첫번째 인수에 " " 안에 서식지정자를 넣어서 입력받는 값 형태를 지정 두번째 인수에 입력 값을 저장할 변수를 넣음 주의 점은 변수 앞에 &을 붙여 주어야함 (주소 값) scanf("%d",&num); //입력 받아서 변수에 저장 정수 두개 입력 #define _CRT_SECURE_NO_WARNINGS #include int main(){ int num1,num2; p..

C/C 2022.10.04

배열 1 - 배열의 선언과 접근 , 초기화

배열은 같은 자료형의 변수를 일렬로 늘어놓은 형태, 반복문을 사용하여 반복되는 값을 처리 배열의 선언 자료형 배열이름[크기]; 선언과 초기화 자료형 배열이름[크기] = { 값, 값, 값 }; 배열의 크기를 생략 자료형 배열이름[] = { 값, 값, 값 }; 초기화를 하지 않을 때는 생략할 수 없다 int numArr1[] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }; // 배열의 크기 생략 int numArr2[]; // 컴파일 에러 #include int main() { int arr[10] = { 11,22,33,44,55,66,77,88,99,110 }; printf("%d", arr[0]); // 11. printf("%d", arr[5]); // 55 pri..

C/C 2022.10.04

포인터 pointer 4 - 이중 포인터, 주의할 점

이중 포인터 포인터의 메모리 주소를 저장하는 포인터의 포인터 포인터를 선언 할떄 **을 사용하면 포인터의 포인터 (이중포인터) #include int main() { int* numPtr1; //단일 포인터 int** numPtr2;//이중 포인터 int num1 = 10; numPtr1 = &num1; //numPtr1 에 num1의 메모리 주소 저장 numPtr2 = &numPtr1; //numPtr2 에 numPtr1의 메모리 주소 저장 printf("%d\n", **numPtr2); //포인터를 두번 역참조하여 num1의 메모리 주소에 접근 } 포인터도 실제로는 변수이기 때문에 메모리 주소를 구할수 있다. 포인터의 메모리 주소는 일반 포인터에 저장할수 없다 >> int** numPtr2; 와 같은..

C/C 2022.10.04

strlen(); 문자열의 길이

string.h 헤더 파일에 선언 필요 >> #include strlen(문자열 포인터); strlen(문자 배열); >> 문자열의 길이 반환 #include #include // strlen 함수가 선언된 헤더 파일 int main() { char* a = "Hello"; // 포인터에 문자열 Hello의 주소 저장 char arr[10] = "Hello"; // 크기가 10인 char형 배열을 선언 초기화 printf("%d\n", strlen(a)); // 5 printf("%d\n", strlen(arr)); // 5 } strlen(a)와 같이 strlen 함수에 문자열 포인터를 넣으면 문자열의 길이가 반환 strlen(arr)와 같이 strlen 함수에 문자열이 들어있는 배열을 넣으면 배열 안..

C/C 2022.10.03

포인터 pointer 3 - void 포인터

1. void 포인터 자료형이 정해지지 않은 포인터 >> void * 포인터 이름 int main() { int num1 = 10; char c1 = 'a'; int* numPtr1 = &num1; char* cPtr1 = &c1; void* ptr; // void 포인터 선언 //포인터 자료형이 달라도 컴파일 경고가 없음 ptr = numPtr1; printf("numPtr1 : %p\n", numPtr1); printf("ptr1 : %p\n", ptr); ptr = cPtr1; printf("cPtr : %p\n", cPtr1); printf("ptr : %p\n", ptr); numPtr1 = ptr; cPtr1 = ptr; ptr = numPtr1; printf("%d", *ptr); //컴파일..

C/C 2022.10.03

포인터 pointer 2 - 자료형 포인터 와 const

1.다양한 자료형의 포인터 int main() { long long* numPtr1; float* numPtr2; char* cPtr1; long long num1 = 10; float num2 = 3.5f; char c1 = 'a'; numPtr1 = &num1; numPtr2 = &num2; cPtr1 = &c1; printf("%lld\n", *numPtr1); //10 printf("%f\n", *numPtr2);//3.500000 printf("%c\n", *cPtr1);//a long long *numPtr1; //long long 포인터 char c1; c1 = *numPtr1; //변수 자료형과 포인터를 역참조한 자료형이 다름 } c언어의 자료형은 포인터로 만들수 있다 - 메모리의 공간을 ..

C/C 2022.10.02

Do it! 자바 프로그래밍 : 연산자 01

산술 연산자로 총점과 평균 구하기 74p public class OperationEx1 { public static void main(String[] args) { int mathScore = 90; int engScore = 70; int totalScore = mathScore+engScore; System.out.println(totalScore); double avgscore = totalScore/2; System.out.println(avgscore); } } 증가, 감소 연산자로 값 연산하기 75p public class OperationEx2 { public static void main(String[] args) { int gameScore = 150; int lastScore1 = ++..

JAVA/JAVA 연습 2022.10.01

포인터 pointer 1 - & 과 역 참조

포인터 - 주소 값의 저장을 목적으로 선언되는 포인터 변수 1. &변수 & 오른쪽의 등장하는 피 연산자의 주소값을 반환하는 연산자. int main() { int num1 = 10; printf("%p\n", &num1); //->00000028D79BF654 메모리 주소 실행할때마다 달라짐 } 변수의 메모리 주소를 구할때 변수 앞에 & 붙이면 된다. (& 은 주소 연산자) 메모리 주소는 16진수 형태 printf()로 %p를 사용하여 출력 (%x 도 사용가능) 메모리 주소는 고정된 것이 아님 실행시 마다 달라짐 2. 포인터 변수 선언 & 변수 로 메모리주소를 구함 메모리 주소를 저장 할때는 포인터(pointer) 변수에 저장한다. int main() { int* numPtr; //포인터 변수 int n..

C/C 2022.10.01