일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #자바상속#자바이즈어#is~a
- html5 new tag
- #CallByAddress
- hyperledger transaction
- #1차원배열
- html object
- git flow
- 토큰경제
- border-box
- #다차원포인터
- html video
- #JAVASCRIPT
- #3차원배열
- #android activity
- relative path
- #C++ has~a
- #C++ 연산자함수오버로딩
- #2차원배열
- #bubbleSort
- 하이퍼레저패브릭
- mac terminal command
- #binary
- html charset
- html id
- html plug-in
- html youtube
- html code
- html multimedia
- #성적관리프로그램
- docker example
- Today
- Total
목록C (47)
A sentimental robot
한 줄 주석 > Ctrl + k + c 지정한 범위 주석 > 블록 지정 + Ctrl + k + c 자동 정렬 > Ctrl + k + d 주석해제 > Ctrl + k + u
#include #pragma warning (disable:4996) typedef struct student { char name[10]; int age; }STU; void main() { //2진(binary)입출력 함수 FILE *fp; STU stu={"batman",30}; STU buf; fp=fopen("c.txt","rb"); // b를 붙히면 binary란 뜻을 가진다. fprintf(fp,"%s %d\n",stu.name,stu.age); fwrite(&stu,sizeof(STU),1,fp); fread(&buf,sizeof(STU),1,fp); fclose(fp); printf("%s %d\n",buf.name,buf.age); //콘솔창에 batman 30 출력 } #includ..
#include #pragma warning (disable:4996) void main() { FILE *fp; char name[10]="superman"; int age=1000; fp = fopen("a.txt","w"); // a.txt파일 열고, write모드 fprintf( fp , "%s %d\n",name, age); fclose(fp); } // a.txt 파일에 superman 1000 출력! #include #pragma warning (disable:4996) void main() { FILE *fp; char buf[10]; int age; fp=fopen("a.txt","r"); // 읽기 모드 fscanf(fp,"%s%d",buf,&age); fclose(fp); printf..
파일 파일 입출력은 파일포인터로 접근 파일포인터 선언하기 FILE *fp; 파일의 종류★ - 텍스트 파일 - 2진 ( binary )파일 fopen("이름","모드"); > 파일을 여는 함수 - "r" : 읽기모드- "w" : 쓰기 모드 , 기존 데이터가 다 날라가고 새로 씀.- "a" : 추가 모드 , 데이터 끝부분에서부터 추가함, 데이터가 없으면 w모드와 같은 역할 수행 > 새로 씀 #include #pragma warning (disable:4996) void main() { FILE *fp; fp=fopen("a.txt","a"); //파일 열기 fclose(fp); // 파일을 닫는 함수 }
#include #pragma warning (disable:4996) void main() { int a=10; int b=20; const int *const p=&a; //상수에 대한 상수 포인터 > 값도 주소값도 못바꾸기 때문에 잘 안쓰인다. > 선언과 동시에 초기화를 해야함 printf("%d %d %d\n",a, b,*p); // 10 20 10 // *p=500; >> error : 고정된 값을 가르키기 때문에 // p=&b; >> error : 고정된 주소를 가르키기 때문에 주소를 바꿀 수 없다!! }
#include #pragma warning (disable:4996) void main() { int a = 10; int b = 20; int *const p=&b; // 상수 포인터 ( 고정포인터 ) > 주소를 바꿀수 없다. > 선언과 동시에 초기화를 해야함★ b = 500; printf("%d %d %d\n",a, b,*p); //10 500 500 *p=300; //b=300 값을 바꾸는 것은 가능하다. printf("%d %d %d\n",a, b,*p); p = &a; // error : 고정된 주소포인터이기 때문에 주소를 바꿀 수 없다!!★ }
#include #pragma warning (disable:4996) void main() { int a = 10; int b = 20; const int*p; // 상수에 대한 포인터 ( 읽기 전용 포인터 ) > 가르키는 대상이 상수( const int )이다. p=&a; printf("%d %d %d\n",a, b,*p); a = 300; // 값을 포인터로 못 바꾸기 때문에 *p=300 안된다.★ printf("%d %d %d\n",a, b,*p); // 읽기만 가능}
const 변수 선언 시 앞에 const를 붙이면 초기값을 바꿀 수 없다. > 상수화 선언과 동시에 초기화를 해야한다. const. int MAX=100;const를 포인터에 붙히기 ->const의 위치에 따라서 포인터가 가르키는 위치를 못바꾸게 함. 1) const int *p; -->가르키는 값이 const int > 값을 못바꿈 2) int *const p;-->가르키는 값이 *const > 주소값을 못바꿈 3) const int*const p;-->둘 다 못바꿈 > 주소값과 값을 못바꿈