본문 바로가기

공부생각/C/C++/C#

[C++] 리스트 관리 용법. std::vector switchList; switchList.insert(switchList.end(), new osg::Switch("temp")); ------------------------------- iterator 만들기.. std::vector::iterator itr; for(itr=switchList.begin(); itr != switchList.end() ; itr++){ osg::Switch* temp = (*itr); } 더보기
C++ 어레이 사용시 주의해야할점 int* temp; int* tem; tem=(int*)malloc(sizeof(int)*2); temp=(int*)malloc(sizeof(int)*2); temp[0]=0; temp[1]=1; tem[0]=2; tem[1]=3; tem[0]=temp[0]; temp[0]=3; printf("%d",tem[0]); 포인터로 바로 temp=tem 으로 넘기면, 참조가 같아져서 temp[0]를 바꾸면 tem[0]도 바뀌고 그런식이 된다. 그럼 값만 취하고 싶다면? temp[0]=tem[0]; 일일이 이렇게 해주는수 밖에 없다. 더보기
[C언어] 배열을 동적할당하기 C언어에서는 C++이나 JAVA와 달리 int a[userinputSize] ; 또는 int a[] = new input[size] 이런식으로 어떠한 변수나 입력값이 변수길이에 오지 못하게 제어해놓았다. 그럼 문제는 유저가 이 배열을 몇개나 쓸꺼냐 하는 것을 미리 알지 못하기 때문에, 이러한 배열을 만들어서 사용하려면 동적할당을 이용해야 한다. -참고로... 무식한 방법인 int a[1000]; 과 같은 방법을 사용해버리면, 돌아는 간다. 하지만 그대는 전산학도로서 발전이 없으리라... 저상태에서 유저가 배열을 10개정도만 사용한다면 990개의 메모리 공간이 버려지는 셈이다. 전산의 생명은? 효율! C언어에서 동적할당 하는 방법을 메모해 놓고자 한다. 1. 일차원배열 int *input; int stat.. 더보기
[C] 변수타입와 비트수 변수타입에 따라 비트수가 다르다. "뭐, 처음 배울때는 비트수가 뭔 상관이야 그냥 값 때려넣으면 되지." 하곤 하지만, 공부를 하다보면 특히 임베디드시스템을 할때는 비트수가 치명적이다. 그래서 비트수에 대해서는 충분히 숙지하고 있는 것이 좋다. C를 기준으로 void main() { int a=1; double b =1.0; float c = 1.0; char d='c'; unsigned int e = 1; printf("int %d",sizeof(a)); printf("double %d",sizeof(b)); printf("float %d",sizeof(c)); printf("char %d",sizeof(d)); printf("unsigned int %d",sizeof(e)); } 하면 나오는 결과값은.. 더보기
[C#] List로 다수의 Struct들 관리하기 + Class와의 차이 흠... 일단 동적할당에 관련되어서 많은 것들이 많다. 아무래도 배열을 그대로 사용 하는 것은 갯수의 제한이 있고, 시스템이나 상황에 따라 유동적이지 못하거나, 메모리를 많이 잡아먹는 경우가 발생한다. 한마디로 유동성과 적응력을 높이면 메모리 낭비가 심하고, 낭비를 줄이려고 하다가는 배열의 갯수가 모잘라 예외가 발생할 수도 있다. 여기서 뭐 예외가 발생하면 뒷처리를 할 수도 있겠지만, 그것보다 우리에게 주어진 자료구조 List를 사용해서 컨트롤 해 보자. 일단 Class 와 struct를 사용하는데 있어서 차이점에 관심있으면 알아서 펼쳐서 보도록 ==========================^▽^======================================= 일단 알다시피 struct는 다수의 .. 더보기
[C#] Text box 에서 줄 띄워쓰는 법 Text box 에서 줄을 바꿀필요가 있을때가 있다. (아, 물론 일단 Text box 에 속성에 보면 multiline을 허가하는 부분이 있는데 이것을 우선 true로 만들어 줘야 한다) 그러고 나서 이렇게 써보면 Textbox1.text = "이렇게 띄워쓰면 \n 될려나?" ; 라고 입력하면, 결과는 이상하게 나온다. C#에서는 다른 방법을 사용해야 하는데, 이때사용 되는게 "Environment.NewLine"이다. 그럼 C#에서 올바른 표현은 Textbox1.text = "이렇게 띄워쓰면 " + Environment.NewLine + "될려나?" ; 가 되는 것임둥!!! 그럼 뱀...◎~ 더보기