3.float a[100]으로 선언된 배열의 시작 주소를 1000번지라고 할때, 배열의 10번째 요소의 주소는 몇 번지인가?
: 1040번지
4.구조체의 배열이 가능하다.
구조체 변수에 대하여 비교연산이나 산술 연산은 할수 없다.
구조체 안에 배열을 넣을 수 있다.
서로 다른 데이터 형도 묶을 수 있다.
12.struct {int fa; int fb;} a; *p=&a; 라고 할때 fa를 수정하는 문장으로 맞는 것은?
(*p).fa = 10;
p[0].fa = 10;
17.다음과 같이 정의된 배열의 10번째 요소의 주소는? 단 배열의 시작 주소는 1000번지로 한다.
char a[100] 1100
short b[100] 1200
int c[10]] 1400
float d[100] 1400
21 .i가 정수 변수이고 p와 q가 정수를 가리키는 포인터라면 다음 중 어느 문장이 컴파일 오류를 발생할 것인지 지적하고 그 이유를 밝혀라.
1)p=&i;
2)p=*&i;
3)p=&*i;
4)i=*&*p;
:?///3
23.p1= p2; 포인터 p2가 가지고 있는 주소값을 p1에 대입
*p1\*p2; p2가 가리키는 값을 포인터p1이 가리키는 값에 대입
24. p = &*p = *&p;
25.int **p; 정수포인터에 대한 포인터p
int *p[100]; 정수포인터 배열p
void (*f)(int); 정수 매개변수와 void반환값을 가지는 함수에 대한 포인터f
26.배열x를 {1,2,3,4,5,6}으로 초기화 한 후 포인터p를 정의하고 저장할 주소는 x[2]로 하고 *(p+3) 과 *(p-2) 및
그 값의 곱을 구하는 프로그램을 작성하라.
1 2 3 4 5 | #include<stdio.h> main(){ int x[] = {1,2,3,4,5,6}; int *p = &x[2]; printf("%d,%d,%d", *(p+3), *(p-2), *(p+3) * *(p-2)); } | cs |
27.
1개의 정수와 최대크기가 20인 문자열로 이루어진 구조체를 저장할 수 있도록 동적메모리를 할당받고 여기에
정수100과 문자열 "just test"을 저장한 다음 동적메모리를 반납하는 프로그램을 작성하라.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include<stdio.h> #include<malloc.h> #include<string.h> void main(){ struct test{ int i; char str[20]; }// 1개의 정수와 최대크기 20인 문자열 struct test *p;//구조체 포인터 p = (struct test*)malloc(sizeof(struct test)); //동적메모리 할당 if(p==NULL){printf("memory error"); return;} p->i=100; strcpy(p->str, "just test"); //정수, 문자열 저장 free(p);//동적메모리 반납 } | cs |
28.
1 2 3 | typedef struct{float real; float imaginary} complex; complex c1, c2; | cs |
30.
1 2 3 4 5 6 | #define SIZE 100 struct person{ char name[SIZE]; int age; struct {int month, day, year;} brith; }; | cs |
'프로그래밍 > 간단메모' 카테고리의 다른 글
[자료구조]배열과 문자열 (1.1~1.3) (0) | 2017.03.16 |
---|---|
[자료구조]스택_오답 (0) | 2017.03.03 |
[자료구조]순환_오답 (0) | 2017.03.01 |
[자료구조]04.연결리스트_2 (0) | 2017.02.12 |
[자료구조]04.연결리스트(Linked List) (0) | 2017.02.09 |