#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
switch (num1) <- num의 값에 따라 분기
{
case 1:
printf("1입니다.\n");
break;
case 2
printf("2입니다\n");
break
default:
printf("default\n");
break;
}
#반복문
#포인터
int main(){
int *numPtr; //포인터 변수 선언*
int num1 =10;
numPtr=&num1; // num1의 메모리 주소를 포인터변수에 저장
@vood 포인터 사용하기.?
@이중포인터 사용하깅
지금까진 변수의 포인터를 선언했음 그렇다면 포인터의 포인터도 가능하지 않을까?
이번에는 포인터의 메모리 주소를 저장하는 / 포인터의 포인터를 선언해보겠습니다...
그러렴..
#메모리
malloc ->사용->free
메모리 할당하기
메모리를 사용하려면 malloc함수로 사용할 메모리 공간을 확보해얗 합니다.
흠냐냐..
메모리 할당. 해제 함수 stdlib.h
포인터 = malloc(크기);
void *malloc(size_t_Size);
성공하면 메모리 주소를 반환, 실패하면 NULL을 반환.
itn *numPtr2;
numPtr2=malloc(sizeof(int)); // int크기 4바이트만큼 동적 메모리 할당
.
.
.
free(numPtr2); // 동적으로 할당한 메ㅗㅣ 해제.
이번에는 할당한 메모리에 값을 저자ㅇ해보겠습니다..네..
```
int main(){
int *numPtr;
numPtr=malloc(sizeof(int)); //동적메모리할당
* numPtr = 10; // 포인터를 역참조한 뒤 값 할당
printf("%d\n", *numPtr);
free(numPtr);
return 0;
}
if(ptr==NULL)
{
ptr = malloc(1024);
}
#배열
C언어로 학생 30명의 성적평균을 구하려면 어케 해야할까요?
간단하게 변수 30개를 선언하고 모두 더한 뒤 30으로 나누면 됩니다.
.. 만약에 학생 수가 3000명이라면 웅앵...
배열이 이런일을 쉽게 해준답니다
int main()
{
int numArr[10] = { 11, 22,33, ... 99, 110};
}
배열을 선언할때 크기 생략하기
초기화 해야 배열크기생략 가넝
int main()
{
int numArr[10] = {0,};
int numArr[10] = {11,22, ... , 99 110};
printf %d sizeof(numArr) //40 : 4바이트의 크기의 요소가 10개 이므로 40
printf %d sizeof(numArr) / sizeof(int) // 10: 배열의 크기를 구할때는 전체공간을
요소의 크기로 나눠준당.
참고) 배열의 크기와 인덱스
C언어는 인덱스가 배열의 범위를 벗어났는지 검사하지 않으므로
프로그래머가 항상 이 부분을 생각하면서 작성해야 합니다.
배열의 크기(요소갯수)를 구해놓고, 배열에 접근하기 전에 인덱스가
요소개수-1 을 넘지 않는지 확인하는 것도 좋은 방법입니다.
#문자열
#구조체
#함수
#파일입출력