목록전체보기 (373)
EASY7
교수님께서 드디어 이메일을 보내셨다 ㅎㅎ 자, 힘내서 완강하자! #include void main() { int arr[5]={1,2,3,4,5}; int *p_1, *p_2; p_1=arr; p_2=p_1+2; printf("p_1 =%d p_2= %d \n", p_1,p_2 ); printf( "두 공간의 차이 %d \n", p_2-p_1); } 결과 p_1=1440992 p_2=1441000 두공간의 차이 2 /*2칸차이가 나기에*/ printf("%d", int p_2- int p_1);하면 8이 나옴. 주소값에 대한 오해 ox00000000이 1byte(8bits)이다. char은 1byte이다. 2^8은 256이고 문자배열과 포인터 문자배열 자체는 문자열의 시작주소값을 가짐 char *arr;..
배열명은 배열의 첫번째 요소의 주소값을 지정 #include void main() { int arr[5]={1,2,3,4,5}; int *p=arr; 첫번째 요소의 주소가 p에 저장 *p는 1이 됨. int i; for (i=0; i
%d 10진수의 정수형 %f 실수형 float a=7; printf("%f\n", a); 하면 7.000000 소수점자리까지 표시해줌 %e 지수형, 변수값을 Ae+00B 꼴로 나오며 A에 10^B승한 값과 동일 %o 8진수 %x 16진수 %u unsinged int형으로 부호없는 10진수 %g 실수형 자동출력 %p 포인터 주소 %c 하나의 문자로 출력 %s 문자열 string http://blog.naver.com/mcm1092/220158222517 출처
포인터에서 연산작업 덧셈 뺄셈하기 #include void main() { char c='A'; int i=5; char *p_c=&c; int *p_i=&i; printf("c 결과값 %c p_c포인터 정보 %c \n", c,(*p_c)++); B A printf("i 결과값 %c p_i포인터 정보 %c \n", i, *p_i+=1); 6 6 *p_i를 6으로 저장하고 6 6 출력 printf("%c \n", *p_c+1); C } ++ -- 은 오른쪽에서 왼쪽방향으로 계산을 한다. 괄호 유무는 아주 중요하다. (*p)++ , ++*p는 현재 포인터값을 가져와서 그 값 자체를 조각함. *p++는 p의 주소값 3075908이 다음 요소값 3075912를 가리키며 그 주소가 가리키는 내용을 지칭 *(p+2..
이중포인터 : 포인터에 대한 포인터 주로 함수에서 처리된 결과를 다시 반환하고자 할 경우, 동적메모리 할당 시 사용 자료형 **변수명; #include void main() { int a=5, b=10; int *p_1, **p_2; printf("a의 주소 %d \n" ,&a);3078924 printf("p_1의 포인터 결과 %d \n", *p_1); 5 printf("p_2의 결과 %d\n" **p_2); 5 } 이중포인터는 M자형 그냥 포인터는 N자형이구나 #include void main() { int a=5, b=4700; char *c=&a, *d=&b; printf("c포인터 결과 %d\n", *c); printf("d포인터 결과 %d\n", *d); printf("b의 주소 %d \n d..
C만의 특징 포인터를 드디어 배웁니다. 포인터는 왜 사용하는 것일까? 포인터를 이용하면 직접 메모리에 접근이 가능해지고 원하는 곳에 접근하여 조작이 가능하다. 그래서 포인터는 CPU에서 메모리에 데이터를 저장할 때 어느 주소에 둬야할지를 결정하는 것이다. 메모리의 주소값을 저장하기 위한 변수 * : 간접 연산자 *p : 포인터 변수 p p : 일반 변수 p 선언 : 자료형 *변수명; 또는 자료형* 변수명; 12번지에 들어가는 값은 누군가의 주소가 된다. 하지만 printf("%d",*p_2);하면 4가 출력되는 것이 아니다. 포인터이기 때문에 4번지가 가리키는 값이 뭐니? 라는 뜻이다. printf("%d",p_2);하면 4가 출력되나? 주석 달 때 여러줄 한줄 차이 있던데 왜 그냥 /*로 쓰는 거지? ..
Int strcmp(char *str1, char *str2) 두 문자배열이 같은가? 다른가? string compare의 약자이다. 넘겨받은 두 문자열을 비교하여 같으면 0 리턴 0이아니면 다르다는 것인데 str1