일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드
- 다윈
- error
- hardwareacceleration
- quick-start
- log
- Hyperledger
- null safety
- C
- bigquery
- kotlin
- LAYER_TYPE_SOFTWARE
- fabic
- Glide
- web3js
- Gradle
- dataginding
- Exception
- convert
- fabric-sdk-java
- test
- firebase
- 스트리밍
- vuepress
- 컴파일
- coroutines
- porterduff
- Android
- ethereum
- Realm
- Today
- Total
목록프로그래밍 (155)
날마다 새롭게 또 날마다 새롭게
#include #include #define MAXLINES 5000char *lineptr[MAXLINES]; int readlines(char *lineptr[], int nlines);void writelines(char *lineptr[], int nlines); void qsort(char *lineptr[], int left, int right); main(){int nlines;if((nlines = readlines(lineptr, MAXLINES))>=0) {qsort(lineptr,0,nlines-1);writelines(lineptr,nlines);return 0;} else {printf("error : input too big to sort \n");return 1;} } #de..
/* readlines : read input lines */int readlines(char *lineptr[], int maxlines){int len, nlines;char *p, line[MAXLEN]; nlines=0;while(len=getline(line, MAXLEN))>0)if(nlines >= maxlines || (p=alloc(len))==NULL)return -1;else {line[len-1]='\0';strcpy(p,line);lineptr[nlines++]=p;}return nlines;}
/* getline: get line into s, return length */int getline(char s[], int lim){int c, i;i=0;while(--lim>0 && (c=getchar())!=EOF && c!='\n')s[i++]=c;if(c=='\n')s[i++]=c;s[i]='\0';return i;}
/* strcmp : return t version 1 */int strcmp(char *s, char *t){int i;for(i=0;s[i]==t[i];i++)if(s[i]=='\0')return 0;return s[i]-t[i];} /* strcmp : return t version 2 */int strcmp(char *s, char *t){for(;*s==*t;s++,t++)if(*s=='\0')return 0;return *s - *t;}
/* strcpy : copy t to s; array subscript version */void strcpy(char *s, char *t){int i;i=0;while((s[i]=t[i]) != '\0')i++;} /* strcpy : copy to s; pointer version 1 */void strcpy(char *s, char *t){while((*s=*t)!='\0') {s++;t++;}} /* strcpy : copy to s; pointer version 2 */void strcpy(char *s, char *t){while((*s++ = *t++)!='\0'); } /* strcpy : copy to s; pointer version 3 */void strcpy(char *s, ch..
size_t는 typedef unsigned int size_t; 로 정의 된 부호없는 정수형 데이터 type 입니다.그런데 unsigned int 와 차이점이 있습니다.size_t 는 32비트 운영체제에서는 '부호없는 32비트 정수'이고 64비트 운영체제에서는 '부호없는 64비틑 정수'가 됩니다.하지만 unsigned의 int는 64비트 운영체제라고 해서 꼭 64비트 정수는 아닙니다.그래서 size_t 데이터를 캐스팅하지 않고 unsigned int 데이터 타입 변수에 대입하면 다음과 같은 경고가 출력됩니다.warning C4267: 'initializing' : conversion from 'size_t' to 'unsigned int', possible loss of data
#define ALLOCSIZE 10000 /* size of available space */static char allocbuf[ALLOCSIZE]; /* storage for alloc */static char *allocp = allocbuf; /* next free position */char *alloc(int n) /* return pointer to n characters */{if(allocbuf + ALLOCSIZE - allocp >= n){allocp += n;return allocp - n;} elsereturn 0;} void afree(char *p){ if(p >= allocbuf && p < allocbuf + ALLOCSIZE)allocp = p;}
int strlen(char *s){int n;for(n=0;*s != '\0';s++)n++;return n;}
extern 변수는 다른 파일의 전역 변수를 사용하고자 할 때 사용한다. c 파일에서 선언하기 예를 들어, file2 에서 file1 의 전역 변수 a 를 사용하고자 할 때 다음과 같이 코딩한다. file1.c file1 에서 아래와 같이 정의한다. int a=0; // extern 변수 정의 main() {...} file2.c file2 에서 file1 의 전역 변수 a 를 다음과 같이 선언한다. extern int a; // extern 변수 선언 main() {...} extern 변수 선언을 통해서 file2 에서도 전역 변수 a 를 사용할 수 있게 되었다. file3 에서도 전역 변수 a 를 사용하려면 file2 에서와 같이 extern 변수를 선언해주면 된다. file3.c extern in..
#include #include #define MAXOP 100 /* max size of operand or operator */#define NUMBER '0' /* signal that a number was found */ int getop(char[]);void push(double);double pop(void); int main(void){int type;double op2;char s[MAXOP]; while((type = getop(s)) != EOF) {switch(type) {case NUMBER:push(atof(s));break;case '+':push(pop() + pop());break;case '*':push(pop() * pop());break;case '-':op2=pop..