리만 식민지 티스토리지부

블로그 이미지
https://github.com/riemannulus
by RIEMANNULUS

TAG CLOUD

  • Total hit
  • Today hit
  • Yesterday hit
05-20 16:12

'코딩/C'에 해당되는 글 7건

  1. 2013.06.04
    오늘 배운 것 2: 배열과 포인터 2
  2. 2013.06.04
    오늘 배운 것들 1 : 구조체 2
  3. 2013.06.01
    신용카드 숫자 16자리를 받아 뒷자리 4자리를 @로 출력해 주는 프로그램
  4. 2013.05.31
    포인터를 이용한 Swap함수 예제
  5. 2013.05.29
    비트 시프트 연산에 대해서
  6. 2013.05.21
    열혈 C 프로그래밍 인강 중에서... 4
  7. 2013.05.09
    ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

배열과 포인터는 밀접한 관계를 가지고 있음.

포인터로 배열을 만들 수도 있고, 배열을 포인터처럼 사용도 가능함.


일단 예문을 살펴보면


이런 식으로 포인터를 이용해 배열을 컨트롤할 수 있다.


array는 array라는 이름의 배열의 index(가장 처음 주소)를 의미하며, 이것을 int*형인 p라는 변수에 저장한다.


예를 들어, array라는 배열의 시작점이 100일 경우, int형은 4바이트이므로 array[0]의 시작점은 100, array[1]의 시작점은 104이다.


이것을 이용해, 반복문으로 배열의 첫 번째에 있는 값을 읽어온 뒤, 다음 배열의 시작점으로 넘어가 다음 배열에 있는 값을 읽어온다.

Raptr Gamercard
AND

구조체(Struct) : 변수의 모음, 여러 변수를 모아놓는데 쓴다, 구조체 안에 구조체를 선언할 수도 있다(단, 구조체 안에 같은 이름의 구조체는 선언 불가, 구조체 이름이 연결되어도 안됨 (a>b>a 이런 식으로)).


사용방법은 struct 구조체명 {변수 선언}; 으로 선언 후 struct 구조체명 구조체변수명; 으로 변수명을 선언한다.



human이라는 구조체에 int형으로 머리, 몸, 팔, 다리를 선언한 뒤, 구조체 변수 Suho를 선언해 준다, 이제 Suho라는 변수 안에는 head, body, arm[2], leg[2]라는 변수가 들어있다.


Suho라는 변수 안에 있는 변수를 사용하기 위해서 .(dot)를 사용한다.


이제 typedef를 알아보자.

typedef의 사용법은 typedef 변수or함수명 이름 이런 식으로 쓰면 된다.

예문을 보면



이런 식으로 선언과 사용을 할 수 있다.


.(dot)연산자 이외에도 ->연산자를 사용할 수 있는데, 멤버변수에 간접접근이라는 말 뜻은 잘 모르겠고 .(dot)연산자처럼 사용하면 된다는 듯 싶다.





Raptr Gamercard
AND

일단 짜 봤다.

신용카드 숫자 16자리를 int형으로 통째로 받는 법으로 짜다가 빅 고뇌하던 도중에

선배가 "? 그거 char string으로 받으면 되지 않아?" 해서 10초간 자아성찰 후 만든 소스코드, 원래는 scanf를 쓰는 등 더 허접한 코드였지만 선배가 fgets와 rewind함수의 사용법과 원리를 알려줘서로 인해 좀더 깔끔해졌다.




만들게 된 계기 : 뭐 만들까 하다가 옆에 있는 영수증을 보고 '아 이거나 해보자' 하고 만들게 됨.

Raptr Gamercard
AND


누구한테 보여주긴 부끄러운 코드지만... 일단은 백업을 위해.
까먹으면 안되니까 이해한 거 날아가기 전에 주석도 달아줬다...
int*의 *과 *i의 *의 용도가 달라서 매우 헷갈렸기 때문에 그것에 대해서 좀 자세히 써둠...


Raptr Gamercard
AND

VS 2012에서는 처음으로 비트 시프트 연산을 해 봤는데. -1을 오른쪽으로 시프트 연산하니 -1이 나왔다. 그럼 오른쪽 시프트 연산 시 빈 공간을 1로 채운다는 뜻인데... 왜 1을 오른쪽 시프트 연산을 하니까 0이 나오고, 프로그램이 정상적으로 종료되지도 않는 거지?


삽질욕구가 생기지만 너무 늦어서 일단 자야겠다

Raptr Gamercard
AND

나는 이런 코드도 컴파일이 가능할 줄 알았는데

int main()

{

int i;

i = 30;

int n;

n = 50;

}


이게 안 된다네... 이렇게 쓰지도 않았지만 이게 안된다는 건 오늘 처음 알았다 ㄷㄷ;  

Raptr Gamercard
AND




선배가 만들음ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

Raptr Gamercard
AND

ARTICLE CATEGORY

분류 전체보기 (64)
리듬게임 (7)
PSO2 (1)
확산성 밀리언아서 (0)
게임 (1)
일기 (16)
잡설 (18)
코딩 (18)
C (7)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

ARCHIVE

LINK