본문 바로가기

PL/C & C++

(75)
[C] pointer 증감연산자 구름EDU - 모두를 위한 맞춤형 IT교육 구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/ edu.goorm.io
[C] 파일 입출력 [C/C++] 파일에 정수 쓰기, 읽기 1] 파일에 정수 쓰기 (문제) 28, 34, 35, 43을 파일 "4num.txt"에 써라 - 형식 : fprintf(stream, "%d%d%d%d",a,b,c,d); #include FILE *fi; main(){ int a=28,b=34,c=35,d=43; fi=fopen("4num.txt","w");.. secrys.tistory.com 문자열 쓰기 C 언어 코딩 도장: 70.3 파일에 문자열 쓰기 지금까지 서식을 지정해서 파일에 문자열을 쓰거나 읽었습니다. 그럼 서식 없이 문자열을 그대로 쓰거나 읽을 수는 없을까요? fputs 함수를 사용하면 문자열을 그대로 파일에 쓸 수 있습니다(stdio dojang.io
[C++] class 클래스 (class) OOP의 가장 핵심적인 개념인 클래스는 "구조체가 확장 된 것"이라 생각하면 된다. C에서 구조체는 타입이 다른 변수의 집합이라 보았다면, C++에서 클래스는 타입이 다른 변수의 집합뿐만 아니라, 함수까지 포함 된 것이다. 선언 방법은 C의 구조체 선언문에서 struct 를 class로 바꾸면 되며, public 이나 private 와 같은 엑세스 지정자도 추가 할 수 있다. 생성자 (Constructor) 클래스를 선언하게 되면 그 클래스는 메모리에 객체로써 자리를 잡게 된다. 그러나, 이 객체는 해당 메모리에 자리만 잡고 있을 뿐이지, 초기화는 되지 않으므로, 생성자를 통해서 초기화를 해줄 필요가 있다. 기본적으로 객체를 선언하였다면, 객체를 이루는 변수들에 값을 대입함으로써 객..
[C&C++] header 파일 선언 이유 .cpp 파일로 만들어진 오브젝트 파일에 있는 함수들의 내용을 다른 소스 파일에서 사용할 수 있도록 하기 위함입니다. A.cpp 파일에서 B.cpp 파일에 들어있는 함수나 클래스를 사용하기 위해서는 함수의 프로토 타입이나 클래스 선언 등의 정보가 필요합니다. (그래야 어떤 함수(또는 메소드)를 호출할때 인자값이 필요하고, 안필요하고와 리턴 타입을 알 수 있으니까요.) 그런 정보들을 파악하기 위해서 헤더 파일을 만들어서 관리합니다. 그리고, 헤더파일의 사용에 대해서 질문하셨는데.. 이는 라이브러리를 생각하시면 간단합니다. 라이브러리와 같은 것들은 cpp 파일을 제공하지 않는 경우가 많기 때문입니다. 그리고, 무엇보다 관리와 공유가 편하다는 장점이 있습니다. :)
함수 선언 이유 엄연히 함수의 정의가 있는데 왜 선언이 필요할까...??? ​ 첫째, 함수 선언에서 반환값의 형태를 확인합니다. 컴파일러는 함수를 호출한 자리에 반환값과 같은 형태의 저장 공간을 준비합니다. 즉, 정수를 반환하면 호출한 자리에 int형 공간을 확보하고 실수를 반환하면 double형 공간을 확보합니다. 따라서 함수를 호출하기 전에 선언을 통해 반환형을 미리 컴파일러에게 알릴 필요가 있습니다. 물론 함수의 정의에서도 반환형을 확인할 수 있고 컴파일러는 위에서 아래로 한줄씩 컴파일하므로 함수 호출 이전에 함수를 정의하는 방법도 있습니다. ​ main 함수 위에 add함수를 정의하면함수의 정의에 원형이 포함되므로 따로 함수를 선언할 필요가 없습니다. 이 경우 실행 순서에는 변함이 없습니다. 프로그램은 항상 ma..
[C/C++] 포인터 반환 함수 먼저 함수 반환값의 자료형을 지정할 때 int *ten()과 같이 int 포인터로 지정했습니다. 그리고 변수를 선언하고 값을 할당한 뒤 변수의 메모리 주소를 반환합니다. 컴파일을 해보면 지역 변수의 주소를 반환한다면서 컴파일 경고가 발생합니다. 즉, num1은 함수 ten안에서만 사용할 수 있는 지역 변수이며 함수가 끝나면 사라집니다. 그래서 return &num1;과 같이 지역 변수의 주소를 반환하는 것은 잘못된 방법입니다. 초보자들은 이런 실수를 하기 쉬우니 꼭 기억하세요. 출력 결과에서 10이 잘 나오는 것은 예제 프로그램이 매우 간단해서 10이 저장된 변수가 덮어 쓰여지지 않았기 때문입니다(환경에 따라 10이 아예 안나올 수도 있습니다. 그때 그때 달라요). 프로그램이 커지고 복잡해지면 사라진 지..
[C/C++] 매크로 #, ## c언어 매크로 사용법 - #, ## 연산자 1. # 연산자 매크로에서 # 연산자는 문자열로 변환(치환) 시켜주는 연산자 입니다. 아주 단순한 예를 들어보았습니다. 아래의 예제를 한번 살펴보도록 하겠습니다. #include #define PRINT(s) printf(#s) norux.me
[C/C++] puts와 printf puts는 문자열 만 표시하는 데 사용됩니다. puts()는 const char * 출력에 특화된 함수 printf는 정수, 부동 소수점, 문자, 16 진수 값 및 문자열을 표시하는 데 사용됩니다. string1 = "apple" puts를 사용하여 표시 : puts (string1); printf를 사용하여 표시 : printf ( "% s", string1); 문자열로 작업 할 때는 printf보다 puts를 선호하지만 printf도 사용할 수 있습니다.
[C/C++] 수학 관련 함수
동적할당된 메모리 크기 구하기, _msize 동적 할당된 메모리의 크기 구하기 : C 언어 관련 전체 목차 http://blog.naver.com/tipsware/221010831969 1. sizeof 연산자 보통 C 언어에... blog.naver.com
calloc, malloc, realloc 1. malloc char* p = (char*) malloc ( sizeof(char) * 10 ) 2. calloc 3. realloc C언어 동적메모리할당(malloc, calloc, realloc, free) * C를 배울때 보통 동적메모리할당은 후반부에 배운다. 이유인즉, 포인터, 배열, 함수 등 기본적인 내용을... blog.naver.com
[C/C++] header파일 #include 을 사용하면 'iostream'이라는 헤더 파일의 모든 내용을 복사해오도록 요청한다. 이렇게 하면 헤더 파일의 내용을 코드 파일에서 사용할 수 있다. 헤더 파일은 일반적으로 선언만 포함하므로 어떻게 구현되는지 정의하지는 않는다. 실제 정의는 링크 단계에서 자동으로 프로그램에 링크되는 C++ 런타임 지원 라이브러리에서 구현된다. 만약 iostream 헤더 파일이 존재하지 않는다면, cout과 관련된 모든 선언을 각 파일의 맨 위로 일일이 복사해야 한다 전방 선언과 정의'에서 컴파일러가 main.cpp를 컴파일할 때 'add'가 무엇인지 알 수 있도록 전방 선언(forward declaration)을 했었다. 사용하고자 하는 모든 함수에 대한 전방 선언을 각 파일에 작성하는 것은 매우 지루한..
[C/C++] scanf
[C] sizeof C 언어 코딩 도장: 36.4 배열의 크기 구하기 반복문으로 크기가 10인 배열의 요소를 모두 출력한다면 다음과 같이 만들 수 있겠죠? int numArr[10] = { 11, 22, 33, 44, 55, 66, 77, 88, 99, 110 }; // 요소가 10개 for (int i = 0; i < 10; i++) // 0부터 10까지 반복 { // dojang.io sizeof 연산의 함정 C에서 sizeof는 해당 변수 혹은 자료형의 크기를 알아 보고자 할때 쓰이며 동적 메모리 할당인 malloc을 비롯한 여러 함수와 복합적으로 사용할 경우가 적지 않게 있습니다. 그러나 이 sizeof 를 쓸 sckllo7.tistory.com
[C/C++] NaN