2007. 5. 1. 05:16 devel/man & example
bit shift e.g. , 2dim matrix, Defed Func
1
#include <stdio.h>
int main(void)
{
printf("\nsigned int min: %d",1<<(sizeof(int)*8-1));
printf("\nsigned int max: %d",~(1<<(sizeof(int)*8-1)));
printf("\nunsigned int max: %u",~0);
return 0;
}
크기가 m*n인 2차원 배열을 만들 때,
int** aArray=new int*[m];
for(int i=0;i<n;++i) aArray[i]=new int[n];
이렇게 하면 전체초기화를 위해 memset을 하려고 할때 곤란하다. 나중에 delete할때도 또 루프를 돌아야 해서 귀찮다. 하지만 아래 코드처럼 하는건 어떨까? 아! 래! 코! 드!
int** aArray=new int*[m];
aArray[0]=new int[m*n];
for(int i=1;i<m;++i) aArray[i]=aArray[i-1]+n;
이렇게 하면 전체 초기화할때도 memset(aArray[0],0,sizeof(int)*m*n) 하면 되고, 사용이 끝났을 때는 delete[] aArray[0]; delete[] aArray; 이렇게 하면 되니까 말이다.
뒷북이면 Zaphok
3
#define exch(x,y) {int tmp; tmp = x; x=y; t=tmp;}
main() exch(a,b); !!!!!!
'devel > man & example' 카테고리의 다른 글
scanf에서 fflush(stdin) 사용 안하고 \n 파싱해서 없애기 (2) | 2011.11.27 |
---|---|
function pointer (0) | 2009.11.24 |
sprintf int to ascii (0) | 2009.11.08 |
C++ , C File OUTPUT e.g. (0) | 2008.12.02 |
String Parsing (0) | 2008.05.25 |