张一林//2018.07.23

苏嵌                                                                                                                              项目实战

学习日志                                     姓名:张一林       日期:07.23

 

 

 

 

今日学习任务

 

  1. 关键字(register,static,extern,const,typedef)
  2. 符合数据类型(结构体,共用体,枚举)
  3. 宏定义
  4. 控制语句

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

1.关键字(register,static,extern,const,typedef)包括每个关键字的作用以及用时的注意事项

2.符合数据类型(结构体,共用体,枚举)包括定义,规定的格式,还有一些相关的问题,比如内存空洞

3.宏定义以及作用

4.控制语句

今日开发中出现的问题汇总

 

 

今日未解决问题

 

今日开发收获

今天上午把关键字和符合数据类型使用都给搞清楚了,对于关键字的使用注意事项也都掌握,还有各自的作用也已经掌握;复合数据类型的格式,写的基本思路都已经清楚。下午讲了宏和控制语句,还把整个C语言所讲的内容大致回顾了一遍

 

自我评价

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

今天主要是把C语言剩下的知识给讲完了,主要就是对于复合数据类型的定义,但写的还不是很熟练,还需要多敲代码来练习,最终慢慢记住这些知识点。除此之外,还有这些关键字的用法也都清楚,具体的使用的话,也需要敲敲代码来练习

其他

 

 

 

 

 

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                           1. #include<stdio.h>

 

int add(int a,int b)

{

    return a + b;

}

 

int sub(int a,int b)

{

    return a - b;

}

 

int mul(int a,int b)

{

    return a * b;

}

 

int div(int a,int b)

{

    return a / b;

}

 

int cal(int a,int b,int(*p_cal)(int,int))

{

    return p_cal(a,b);

}

 

int main()

{

   int i;

   int (*p_cal_array[4])(int,int);

   p_cal_array[0] = add;

   p_cal_array[1] = sub;

   p_cal_array[2] = mul;

   p_cal_array[3] = div;

  

   for(i = 0;i < 4;i++)

   {

       printf("result = %d\n",p_cal_array[i](4,2));

   }

 

   #if 0 

   printf("result = %d\n", cal(6,5,add));

   printf("result = %d\n", cal(6,5,sub));

   printf("result = %d\n", cal(6,5,mul));

   printf("result = %d\n", cal(4,2,div));

   #endif

    return 0;

}

 

2. #include<stdio.h>

 

struct message

{

    int num;

    char ch;

    char * ptr;

 

};

typedef struct message Message;

 

int main()

{

    Message msg;

    Message * p_msg = &msg;

    Message a_msg[3] = {{},{},{}};   

    msg.num = 2;

    msg.ch = 's';

    msg.ptr = (char*)malloc(sizeof(char) * 100);

   

    p_msg->num = 3;

    p_msg->ch = 'a';

 

    strcpy(msg.ptr,"hello world");

   

    printf("msg.num = %d  msg.ch = %c\n",msg.num,msg.ch);

    printf("%s\n",msg.ptr);

   

    printf("%d\n",msg.num);

    printf("%c\n",msg.ch);

    return 0;

}

 

3. #include<stdio.h>

 

struct node

{

    int num;

    char ch;

   // char ch2;

    short num1;

  

};

typedef struct node Node;

 

int main()

{

    Node p;

    printf("sizeof(p) = %d\n",sizeof(p));

    return 0;

}

 

4. #include<stdio.h>

 

union node

{

    int num;

    char ch;

};

 

int main()

{

    union node p;

   

    p.num = 0x12345678;

   

    if(p.ch == 0x12)

    {

        printf("big\n");

    }

    if(p.ch == 0x78)

    {

        printf("little\n");

    }

 

   // printf("p.num = %d\n",p.num);

    return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值