본문 바로가기

컴퓨터 과학 & 영상처리 관련/C / C++

the programming language ANSI 2nd edtion에서 찾은 신기한 것들



void (*comp)()

comp : pointer to function returning void

char (*(*x())[])()

x : function returning 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




struct key{

char *word;

int count;

}keytab[] = {

"auto",0,

"break",0,

"case",0

};

이건 {"auto",0},{"break",0}...이런식이어야 될거 같지만 된다고 하네? 모르겠다



#define KEYWORD 01

#define EXTERNAL 02

#define STATIC 04

or

enum { KEYWORD = 01, EXTERNAL = 02, STATIC = 04};



printf("%p %x\n",x,x); p가 void *; pointer(implementation-dependent representation).

u는 unsigned decimal number네



\n newline

\t horizontal tab

\v vertical tab

\b backspace

\r carriage return

\f formfeed

\a audible alert

\\ backslash

\? question mark

\' single quote

\" double quote

\ooo octal number

\xhh hex number


static int x3d[3][5][7];


int f(),*fpi(),(*pfi)();


int - integer

int * - pointer to interger

int *[3] - array of 3 pointers to intergers

int (*)[] - pointer to an array of an unspecified number of integers

int *() - function of unspecified parameters returning pointer to integer

int (*[])(void) - array, of unspecifed size, of pointers to functions with no parameters each returning an integer


# line constant "filename"


# error token-sequence


# pragma token-sequence


#


predefined names

__LINE__ a decimal constant containing the current source line number

__FILE__ a string literal containing the name of the file being compile

__DATE__ a string literal containing the date of compilation, in the form "Mmm dd yyyy"

__TIME__ a string literal containing the time of compilation, in the form "hh:mm:ss"

__STDC__ the constant 1. it is intended that this identifier be defined to be 1 only in standard-conforming implementations



standard library

<assert.h> <float.h> <math.h> <stdarg.h> <stdlib.h> 

<ctype.h> <limits.h> setjmp.h> stddef.h> string.h>

<errno.h> <locale.h> <signal.h> <stdio.h> <time.h>