C 언어에 처음 접근(노트 2)

6679 단어
-----------함수 지침-----------
#include<stdio.h>
#include<stdlib.h>

//   
int add(int x,int y){
    
    return x + y;
} 

main(){
  
    //        
    int (*afu)(int x,int y); 
    
    afu = add;
    int result = afu(28,26);
    printf("result==%d
",result); system("pause"); }

효과는 다음과 같다.
result==54 아무 키나 눌러서 계속하세요.
--------구조체--------------------
#include<stdio.h>
#include<stdlib.h>
/**
        Student    
*/ 
struct Student {
	int age;//4  
	float score;//4
	char sex;//1 
};

struct Student1 {
	int age;//4  
	float score;//4
	int sex;//1 
};



main(){
    //    
    struct Student stu = {18, 88.5, 'M'};
    //     
    printf("stu.age=%d
",stu.age); printf("stu.score=%.1f
",stu.score); printf("stu.sex=%c
",stu.sex); // stu.age = 18; stu.score = 99.9; stu.sex = 'W'; printf("stu.age=%d
",stu.age); printf("stu.score=%.1f
",stu.score); printf("stu.sex=%c
",stu.sex); // printf("Student =%d
",sizeof(struct Student)); printf("Student1 =%d
",sizeof(struct Student1)); system("pause"); }

결과는 다음과 같습니다.
stu.age=18 stu.score=88.5 stu.sex=M stu.age=18 stu.score=99.9 stu.sex=W Student 길이 = 12 Student 1 길이 = 12 아무 키나 눌러 주세요.
----------구조체 지침--------------
#include<stdio.h>
#include<stdlib.h>
/**
      
*/

//        
struct Student{
       int age;
       float score;
       char  sex;       
}        
main()
{      //   
      struct Student stu = {20,88.5,'W'};
      printf("stu.age=%d
",stu.age); // struct Student* stuPoint; // stuPoint = &stu; // (*stuPoint).age printf("(*stuPoint).age==%d
",(*stuPoint).age); // (*stuPoint).age =80; // (*stuPoint). stuPoint-> printf("stuPoint->age=%d
",stuPoint->age); system("pause"); }
결과는 다음과 같다.
stu.age=20 (*stuPoint).age==20 stuPoint->age=20 아무 키나 눌러 계속합니다.
--------연합체--------------
#include<stdio.h>
#include<stdlib.h>


/**
   :
             ;
        
*/ 

//        
struct Date {
      int year;
      int month;
      int day;
}; 
//         
union Mix {
     long i; 
     int k; 
     char ii;
};
main() { 
       printf("date:%d
",sizeof(struct Date)); printf("mix:%d
",sizeof(union Mix)); // union Mix m; m.i = 100; m.k = 123; printf("m.i=%d
",m.i); printf("m.k=%d
",m.k); system("pause"); }
결과는 다음과 같습니다.
date:12 mix:4 m.i=123 m.k=123 아무 키나 눌러서 계속하세요.매거----------
#include<stdio.h>
#include<stdlib.h>


/**
  
         。
      0  

*/ 

enum WeekDay {
     Monday=6,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday
};

main() {
       enum WeekDay day = Sunday;
       printf("%d
",day); system("pause"); }
결과:
12 아무 키나 눌러 주세요.
--------정적 메모리 분배------
#include<stdio.h>
#include<stdlib.h>


//       ,           
func(int** iPoint){
        //  int  temp   ,     100  
      int temp = 100;   
      /*
      &temp      ,iPoint        ,*iPoint     
          &temp(    )    *iPoint(   ) 
         *iPoint = temp;
        iPoint* = &temp;(           ) */
     
      *iPoint  =  &temp;    
           
}        


main(){
  
  //  int         iPoint; 
    int* iPoint; 
    //              
    func(&iPoint);
    
    printf("*iPoint==%d
",*iPoint); printf("*iPoint==%d
",*iPoint); printf("*iPoint==%d
",*iPoint); system("pause"); }
실행 결과는 다음과 같다.
*iPoint==100 *iPoint==-2 *iPoint==-2 () 아무 키나 눌러 계속하십시오..
--------동적으로 확장된 그룹을 만듭니다------------
#include<stdio.h>
#include<stdlib.h>


/**
         
    :scanf("   ",    ); 
    :printf("  +   ",    );
   
 malloc:     
 realloc:       
*/

    

main(){
  //1、         
  int length;
  printf("          :
"); scanf("%d",&length); printf(" :%d
",length); //2、 , int* iArray = malloc(4*length); //3、 ; int i; for(i =0;i<length;i++){ printf(" iArray[%d] :
",i); scanf("%d",iArray+i); } //4、 int surpLength; printf(" :
"); scanf("%d",&surpLength); printf(" :%d
",surpLength); //5、 iArray = realloc(iArray,(length+surpLength)*4); //6、 ; for(i =length;i<length+surpLength;i++){ printf(" iArray[%d] :
",i); scanf("%d",iArray+i); } //7、 for(i =0;i<length+surpLength;i++){ printf("iArray[%d]==%d
",i,*(iArray+i)); } system("pause"); }
결과는 다음과 같습니다.
배열의 길이를 입력하십시오.2 배열의 길이를 입력하십시오.2 iArray[0]의 값을 입력하십시오.1 iArray[1]의 값을 입력하십시오.2 배열의 확장 길이를 입력하십시오.2 iArray[2]의 값을 입력하십시오.3 iArray[3]의 값을 입력하십시오.4 iArray[0]=1 iArray[1]=2 iArray[2]=3 iArray[3][3]==4 아무 키나 눌러서 계속하세요.
----------동적 분배 메모리--------
#include<stdio.h>
#include<stdlib.h>


/**
        
*/

func(int** iPoint){
           
           
     int* temp; //    int         temp,        
     temp = malloc(sizeof(int)); //      ,         
     //        
     *temp = 100;
     //      ???????? 
     *iPoint = temp;  
     
     free(temp); 
           
}        

main(){
  
  //  int         iPoint; 
    int* iPoint; 
    //              
    func(&iPoint);
    
    printf("*iPoint==%d
",*iPoint); printf("*iPoint==%d
",*iPoint); printf("*iPoint==%d
",*iPoint); system("pause"); }
결과는 다음과 같습니다.
배열의 길이를 입력하십시오.2 배열의 길이를 입력하십시오.2 iArray[0]의 값을 입력하십시오: 0 iArray[1]의 값을 입력하십시오: 1 배열의 확장 길이를 입력하십시오.2 입력한 배열의 확장 길이는: 2 iArray[2]의 값을 입력하십시오: 3 iArray[3]의 값을 입력하십시오: 4 iArray[0]=0 iArray[1]=1 iArray[2]=3 iArray[3][3]의 값을 입력하십시오:==4 아무 키나 눌러서 계속하세요.

좋은 웹페이지 즐겨찾기