/* [예제 1번]
#include <stdio.h>
#include <stdlib.h>
int main()
{
int *p;
p = (int*)malloc(4);
if(p == NULL); // 힙메모리 할당 실패 판별
{
printf("메모리 할당에 실패!\n");
return 0; // 프로그램 종료
}
// 힙메모리 할당 성공
*p = 20;
printf("힙에 저장된 변수 p: %d \n",*p);
free(p); // 동적 메모리 해제
return 0;
}
// 힙 메모리 할당 성공
// malloc 함수 (void*)
// 메모리 동적 할당
--------------------------------------- 예제 1번 끝 ---------------------------------------------------
*/
#include <stdio.h>
#include <stdlib.h>
void function(int _memory);
int main()
{
int memory = 0;
printf("배열의 크기를 입력하세요 :");
scanf("%d", &memory);
function(memory); // call by value
return 0;
}
//function() 함수 :배열의 크기를 전달받아서, 힙 메모리에 메모리 할당받아.
// int 형 1차원배열의 요소의 내용 출력
void function(int _memory)
{
// int arr[_memory]; <---""int(4byte) * _memory"" byte
int *array = (int*) malloc(sizeof(int)* _memory); // 동적 메모리 할당
int i;
if(array ==- NULL)
{
printf("메모리 할당에 실패!\n");
exit(1);
}
for(i=0; i<_memory; i++)
{
//*(array+i) = i + 1;
array[i] = i +1;
}
for(i=0; i<_memory; i++)
{
printf("%d",array[i]); // printf("%d",*(array+i));
}
printf("\n");
free(array);
}
// → constance value
// array = 객체로 인식해버렷음 ㅇㅇ
/*
[C언어]
== 동적 메모리 할당과 해제 ==
#include <stdlib.h>
실행시간, 힙메모리
1) 동적 메모리 할당
*/
--------------------------------------------------------------------------------------------------------------
//c in
#include <stdio.h>
int main()
{
int a;
int b;
double c;
scanf("%d",&a);
scanf("%d %d", &a, &b);
scanf("%f", &c);
return 0;
}
--------------------------------------------------------------------------------------------------------------
//[c++ in]
#include <iostream>
int main()
{
int a;
int b;
double c;
// cin >> 입력변수
std::cin >> a; //scanf("%d",&a);
std::cin >> a >> b; //scanf("%d %d", &a, &b);
std::cin >> c; //scanf("%f", &c);
return 0;
}
--------------------------------------------------------------------------------------------------------------
#include <iostream>
int main()
{
char name[100];
char language[200];
std::cout << "이름은 무엇입니까?";
std::cin >> name;
std::cout << "좋아하는 프로그래밍 언어는어떻게 되나요 ?";
std::cin >> language;
std::cout << "이름:" <<name << std::endl;
std::cout << "언어:" <<language << std::endl;
return 0;
}
--------------------------------------------------------------------------------------------------------------
//문제 2
#include <iostream>
int main()
{
int num;
int i;
std::cout << "출력하고 싶은 단은 몇단 ? ";
std::cin >> num;
for (int i = 1; i<10; i++);
{
std::cout << num << " * "<< i << "=" << num*i << std::endl;
}
return 0;
}
--------------------------------------------------------------------------------------------------------------
[C++]
#include <iostream> //구버전 iostream.h
//신버전 iostream
int main()
{
// cout << 출력대상;
// << 출력연산자
std::cout << "c++ 출력" << std::endl; // pritnf("c언어 출력 \n");
std::cout << 10 << std::endl; // printf("%d \n",10);
std::cout << 3.14 << std::endl; // printf("%f \n",3.14);
std::cout << 'A' << std::endl; // printf("%c \n",'A');
std::cout << "String" << std::endl; // printf("%s \n","spring");
std::cout << 10 << ' ' << 20 << std::endl; // printf("%d %d\n",10,20);
return 0;
}
--------------------------------------------------------------------------------------------------------------
c언어 malloc, calloc 함수
: 메모리 동적 할당
[1]c언어 메모리 동적 할당 malloc, calloc
-> void * malloc(int size)
포인터 변수 = [적절한 형변환] malloc (얼마나 받을것인지)
2. 메모리 해제 함수 Free
: void free(void *)
메모리를 반납하는 함수, 동적할당을 한 후에 해제 하는 것
--------------------------------------------------------------------------------------------------------------
'웹개발 > HTML' 카테고리의 다른 글
JSP 시작하기 ( 출력버퍼 / 플러쉬 ) (0) | 2014.03.28 |
---|---|
[C, C++ 통합] C++ Funtion Overloading (함수의 오버로딩) (0) | 2014.03.21 |
[C, C++ 통합] 8일차 (0) | 2014.03.17 |
[C, C++ 통합] 6일차 (0) | 2014.03.17 |
[C, C++ 통합] 5일차 (0) | 2014.03.17 |