[ create a new paste ] login | about

Link: http://codepad.org/x0PzUiOB    [ raw code | output | fork ]

C, pasted on Jun 5:
#include <memory.h>

int* create_int_array(int len)
{
	// C++ なら return new int[len]; ← この辺に注目した上で
	return (int*)malloc(sizeof(int)*len);
}

void delete_array(int *arr)
{
	// C++ なら delete [] arr;
	free(arr);
}

int main()
{
	// ↓個数不明な配列返したいって?じゃあそのアドレスを持ったポインタ返せばいいじゃんってこと
	int *ar = create_int_array(3);
	
	int i = 0;
	
	ar[i] = 123; printf("%d %d\n", i, ar[i++]);
	ar[i] = 456; printf("%d %d\n", i, ar[i++]);
	ar[i] = 789; printf("%d %d\n", i, ar[i++]);

	delete_array(ar);
	// ↑動的生成したんだから開放削除を ※C++ならデストラクタの考え方があるので これ自体隠す事が普通に可能

	return 0;
}


Output:
1
2
3
1 123
2 456
3 789


Create a new paste based on this one


Comments: