'포인터'에 해당되는 글 3건

  1. 2008.08.27 매우 중요한 포인터의 기본 개념들.
  2. 2008.08.26 포인터란 한 마디로 무엇인가?
  3. 2008.08.26 포인터 casting 실습
char **argv
     argv : pointer to char
int (*daytab)[13]
     daytab : pointer to array[13] of int
int *daytab[13]
     daytab : array[13] of pointer to int
void *comp()
     comp : function returning pointer to void
void (*comp)()
     comp : pointer to function returning void
char (*(*x())[])()
     x : function returing pointer to array[] of pointer to function returning char
char (*(*x[3])())[5]
     x : array[3] of pointer to function returning pointer to array[5] of char


Posted by 행복한 프로그래머 궁금쟁이박
TAG C, 포인터

댓글을 달아 주세요

C 언어의 포인터는...

실행 중인 프로세스의 메모리 주소를 말한다.

이 때 대상이 되는 시작주소를 포인터라 하며

이는 변수, 함수, 배열 등이 될 수 있다.
Posted by 행복한 프로그래머 궁금쟁이박
TAG C, 포인터

댓글을 달아 주세요

#include <stdio.h>

int main()
{
        char ch; int num; float f_num; double d_num;
        ch = 'A'; num = 5000; f_num = 3.14; d_num = f_num * 2;

        printf("\n모든 변수의 선두주소 출력\n");
        printf("%p %p %p %p\n", &ch, &num, &f_num, &d_num);

        printf("\n주소를 변소의 자료형에 맞게 증감\n");
        printf("%p %p %p %p\n", &ch + 1, &num + 1, &f_num + 1, &d_num + 1);

        printf("\n모든 주소의 자료형을 char 형으로 변환하여 증감\n");
        printf("%p %p %p %p\n", (char*)&ch + 1, (char*)&num + 1, (char*)&f_num + 1, (char*)&d_num + 1);

        printf("\n모든 주소의 자료형을 int 포인터형으로 변환하여 증감\n");
        printf("%p %p %p %p\n", (int*)&ch + 1, (int*)&num + 1, (int*)&f_num + 1, (int*)&d_num + 1);

        return 0;
}

예를 들어 (char*) 에 의해 주소의 자료형이 (int*) 에서 (char*) 가 된다. char * 로 변환된 주소에 1을 더한

결과는 char 형이므로 1바이트 증가한 결과가 된다.

옵션을 포함한 컴파일 :  gcc -O2 -Wall -o cast.out -I /usr/include/ cast.c

optimization 2 level, 모든 에러메시지 출력, output file 은 cast.out, include 파일은 /usr/include



사용자 삽입 이미지

Posted by 행복한 프로그래머 궁금쟁이박

댓글을 달아 주세요