태그 보관물: 포인터

Pointers in swift

C-API 사용하기

Objective-C와의 호환 기능 덕분에 Swift에서는 C 언어의 타입이나 기능들을 사용할 수 있게 되었다.

원시타입들

int, bool, short, char… 등의 C 원시타입은 CInt, CBool과 같이 접두어 C가 붙는 Swift 타입과 대응된다. 이는 라이브러리 임포트시에 자동으로 맵핑이 적용되게 된다.

enum 타입

C의 enum 타입은 Swift의 enum 타입으로 변경된다. 특히 NS_ENUM 매크로를 통해 정의된 열거값들은,

  1. NS_ENUM 매크로의 첫번째 인자로 오는 타입이 연관타입이 되며
  2. NS_ENUM 매크로로 정의되는 타입명이 생략된 이름을 변경된다.

예를 들어

typedef NS_ENUM(NSInteger, UITableViewCellStyle) {
    UITableViewCellStyleDefault,    
    UITableViewCellStyleValue1,
    UITableViewCellStyleValue2,
    UITableViewCellStyleSubtitle
};

이라고 명시된 경우, NSInteger -> Int 형으로 맵핑되므로
계속 읽기

[C/C++] 한 편으로 요약하는 포인터

한편으로 요약하는 포인터

C의 포인터는 사실 단순히 ‘메모리상의 주소를 저장하는 변수’의 개념인데, 실제로는 상당히 어렵다고 느끼는 경우가 많다. 왜냐면 메모리 주소를 사용하는 방식은 단순히 ‘간접적’으로 변수 값을 참조하는 것이라 “과연 이걸 어디다, 왜 쓴단 말인가”라고 생각해버리기 쉽기 때문에 실제로 어떻게 써야 하는지에 대한 감을 잡기 힘들기 때문이다. 이 글에서는 몇 개의 예제를 살펴보고 이를 통해 포인터의 기초적인 내용을 공부해 보도록 하겠다.

계속 읽기