모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    잠이오네요님의
    개인페이지입니다
    가입 : 11-04-28
    방문 : 3834회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_938
    작성자 : 잠이오네요
    추천 : 2
    조회수 : 1321
    IP : 112.145.***.210
    댓글 : 4개
    등록시간 : 2014/02/01 01:12:44
    http://todayhumor.com/?programmer_938 모바일
    C언어 중수를 위한 포인터 예제
    컴파일 환경
    x86_64-linux-gnu
    gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)


    코드
    #include <stdio.h> 
    #include <string.h> 

    int main() 

            { 
                    char *str1 = "hello!"
                    char *str2; 

                    printf("str1(%d): %s\\n", strlen(str1), str1); 

                    str2 = str1; 
                    printf("str2(%d): %s\\n", strlen(str2), str2); 

                    printf("please input a character -> "); 
                    // *str2 = getchar(); // Segmentation fault here 
                    printf("modified str2(%d): %s\\n", strlen(str2), str2); 
            }printf("\\n"); 

            { 
                    int a = 65
                    char *b = &"ABC"
                    int *c = &"ABC"

                    printf("a=0x%x, *b=0x%x, *c=0x%x\\n", a, *b, *c); 
                    printf("&a=0x%x, b=0x%x, c=0x%x\\n", &a, b, c); 
                    printf("&\\"ABC\\" is 0x%x\\n", &"ABC"); 
                    printf("int value of \\"ABC\\" is 0x%x\\n", *((int *)&"ABC")); 
            }printf("\\n"); 

            { 
                    typedef struct 
                    { 
                            char a; 
                            char b; 
                            int c; 
                    } user_unpacked_type; 

                    #pragma pack(push, 1); 
                    typedef struct 
                    { 
                            char a; 
                            char b; 
                            int c; 
                    } user_type; 
                    #pragma pop(); 

                    printf("size of user_unpacked_type is %d\\n"sizeof(user_unpacked_type));
                    printf("size of user_type is %d\\n"sizeof(user_type)); 

                    { 
                            int i; 
                            user_type ut = {'A''B', *((int *)&"CDE")}; 
                            for(i=0; i<sizeof(user_type); i++) 
                                    printf("ut[%d] is 0x%x\\n", i, ((char *)&ut)[i]); 
                            printf("or otherwise....\n"); 
                            for(i=0; i<sizeof(user_type)-sizeof(int); i++) 
                                    printf("ut[%d] is 0x%x\\n", i, ((int *)&ut)[i]); 
                    } 
            }printf("\\n"); 

            { 
                    unsigned int a = 1234567890
                    int b = *((int *)&a); 
                    char c = *((char *)&a); 
                    long d = *((long *)&a); 
                    printf("a = 0x%x\\n", a); 
                    printf("b = 0x%x\\n", b); 
                    printf("c = 0x%x\\n", c); 
                    printf("d = 0x%x\\n", d); 
            }printf("\\n"); 

            return 0



    결과:
    // first running
    str1(6): hello!
    str2(6): hello!
    please input a character -> modified str2(6): hello!

    a=0x41, *b=0x41, *c=0x434241
    &a=0x1ae753b0, b=0x4009c7, c=0x4009c7
    &"ABC" is 0x4009c7
    int value of "ABC" is 0x434241

    size of user_unpacked_type is 8
    size of user_type is 6
    ut[0] is 0x41
    ut[1] is 0x42
    ut[2] is 0x43
    ut[3] is 0x44
    ut[4] is 0x45
    ut[5] is 0x0
    or otherwise....
    ut[0] is 0x44434241
    ut[1] is 0x45

    a = 0x499602d2
    b = 0x499602d2
    c = 0xffffffd2
    d = 0x499602d2


    // second running
    str1(6): hello!
    str2(6): hello!
    please input a character -> modified str2(6): hello!

    a=0x41, *b=0x41, *c=0x434241
    &a=0xd94056b0, b=0x4009c7, c=0x4009c7
    &"ABC" is 0x4009c7
    int value of "ABC" is 0x434241

    size of user_unpacked_type is 8
    size of user_type is 6
    ut[0] is 0x41
    ut[1] is 0x42
    ut[2] is 0x43
    ut[3] is 0x44
    ut[4] is 0x45
    ut[5] is 0x0
    or otherwise....
    ut[0] is 0x44434241
    ut[1] is 0x45

    a = 0x499602d2
    b = 0x499602d2
    c = 0xffffffd2
    d = 0x499602d2





    코드와 실행 결과가 직관적으로 이해가신다면 당신은 C산맥 중 포인터 고개를 반정도 넘으신겁니다...

    함수포인터를 다루는 부분이나 구조체간 타입 캐스팅 같은 것들이 아직 남았...ㅠ

    근데 그거 끝내면 또 매크로와 레지스터 접근, CPU캐시와 메모리간의 일관성 관리 이슈가 또 있고

    하드웨어 깊숙한 곳까지 하드하게 하면 어셈블리 혼성 코딩이 또 있네요(....)

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2014/02/01 13:36:55  124.197.***.248  글냥이  54510
    [2] 2014/02/02 01:35:04  164.125.***.84  O(n)  306722
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    440
    이거 환불 되나요? [3] 펌글 잠이오네요 15/09/04 09:33 390 5
    439
    저도 다이아 한번... [2] 잠이오네요 15/08/21 15:44 64 0
    438
    iOS9은 모바일 웹 광고차단 기능이 기본 탑재된다네요 [2] 잠이오네요 15/08/15 15:17 72 5
    437
    자택 근무도 썩 좋진 않네요 + 자택근무자 분들에게 질문 [11] 잠이오네요 15/08/12 05:32 90 0
    436
    자취방을 구하고 있는데 조언 부탁드립니다 [1] 베스트금지본인삭제금지 잠이오네요 15/07/10 13:23 29 0
    435
    왜 냉면일까요 [10] 잠이오네요 15/06/14 19:02 89 10
    434
    메르스? 우린 젊어서 걸려도 그냥 감기처럼 지나가잖아? [9] 잠이오네요 15/06/12 23:00 492 11
    433
    다수결은 민주주의가 아닙니다 [1] 잠이오네요 15/06/07 10:08 80 0
    432
    부산의 흔한 다리 진입로 [1] 잠이오네요 15/04/21 18:46 149 3
    431
    애플워치 골드 에디션 도금 아니었네요ㄷ; [6] 잠이오네요 15/03/23 03:44 128 5
    430
    아이폰6/6+ 출시가 보고 통신사 구매 망설이시는 분을 위한 안내 [5] 잠이오네요 14/10/15 12:16 187 5
    429
    피카소 [6] 잠이오네요 14/10/07 12:55 555 12
    428
    기술의 발전이 참 대단하네요 [4] 잠이오네요 14/10/07 12:29 539 7
    427
    팀국X아이폰 [3] 잠이오네요 14/09/10 21:47 215 17
    426
    잡스와 워즈니악이 사이가 나쁜 진짜 이유 [8] 잠이오네요 14/07/23 10:41 110 10
    425
    아래 전기자동차 글을 보고 [1] 잠이오네요 14/07/18 11:24 47 0
    424
    마우스랜드 잠이오네요 14/06/17 13:28 52 2
    423
    혐짤 [2] 잠이오네요 14/06/09 22:36 185 0
    422
    최근 이삼일 먹은 템인데요, 마부 어떻게 하면 좋을까요? [3] 잠이오네요 14/05/19 17:25 236 0
    421
    요새 노조미 글이 자주 올라오는데 [1] 잠이오네요 14/05/11 11:16 115 0
    420
    세월호 침몰 당시 승무원 상태 추측글 [14] 잠이오네요 14/04/21 16:23 925 12
    C언어 중수를 위한 포인터 예제 [1] 잠이오네요 14/02/01 01:12 31 0
    418
    초보자가 C언어 포인터에서 좌절하는 이유는 [1] 잠이오네요 14/01/31 19:15 56 0
    417
    특대 사이즈 카푸치노 [2] 잠이오네요 14/01/21 13:57 197 2
    416
    오늘의 아점 [1] 잠이오네요 14/01/21 11:30 171 3
    415
    웹 개발 주저리 잠이오네요 14/01/19 17:38 27 2
    414
    모든 언어는 두 종류로 구분 가능합니다 [12] 잠이오네요 14/01/15 13:17 117 1
    413
    오늘의 야식 일기 - 돼지국밥 [2] 잠이오네요 14/01/13 06:28 190 5
    412
    간단하고 따뜻한 커피우유 잠이오네요 13/12/30 16:54 104 1
    411
    시험기간이라 그런지 [1] 잠이오네요 13/12/17 19:58 41 0
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈