c언어 기초 겅부c언어 기초 겅부
#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;
}
- 메모리 내용을 한꺼번에 설정하기
포인터를 역참조한 뒤 값을 할당할 때는 해당 자료형 크기만큼만 할당할 수 있습니다 memset 함수를 사용하면 메모리의 내용을 원하는 크기만큼 특정값으로 설정할 수 있슴
이름은 memory set에서 따옴(string.h 헤더파일에 선언되어있습니당) @ memset(포인터, 설정할값, 크기);
- 널 포인터 사용하기
메모리가 할당된 포인터도 있지만, 메모리가 할당되지 않은 포인터도 있겠죠?
int * numPtr1 = NULL;if(ptr==NULL) { ptr = malloc(1024); }
#배열
C언어로 학생 30명의 성적평균을 구하려면 어케 해야할까요?
간단하게 변수 30개를 선언하고 모두 더한 뒤 30으로 나누면 됩니다.
.. 만약에 학생 수가 3000명이라면 웅앵...
배열이 이런일을 쉽게 해준답니다
int main()
{
int numArr[10] = { 11, 22,33, ... 99, 110};
}
배열을 선언할때 크기 생략하기
초기화 해야 배열크기생략 가넝
- 배열을 0으로 초기화하기 : 자료형 배열이름[크기] = {0,};
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 을 넘지 않는지 확인하는 것도 좋은 방법입니다.
- 배열을 포인터에 넣기
#문자열
#구조체
#함수
#파일입출력
Author And Source
이 문제에 관하여(c언어 기초 겅부c언어 기초 겅부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@nongdamgom/c언어-기초-겅부c언어-기초-겅부저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)