苏嵌//张朋//2018.07.17

苏嵌                                                                                                                                   项目实战

学习日志                                       姓名:   张朋                    日期:2018年07月17日

 

 

 

 

今日学习任务

 

  1. 掌握指针的定义及使用方法;(对应内存空间与指向内存空间)
  2. 熟练掌握野指针及如何防止野指针。
  3. 熟练掌握多维指针的使用。
  4. 掌握字符串的操作。(实现并使用字符串处理函数)

 

今日任务完成情况

 

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

今日任务按计划完成。

  1. 掌握了指针的定义方法,明白了C语言中为什么会提出指针类型。
  2. 明白了C语言有不同指针类型的原因。
  3. 掌握了如何避免野指针的出现以及明白了养成良好的编码习惯的好处。
  4. 更加深刻的理解了函数的基本特点。

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

 

  1. 什么是指针?为什么需要指针?指针的字节长度。
  2. *和&的作用?
  3. 多维指针的作用?什么是野指针?怎样避免野指针的出现。

 

今日未解决问题

 

今日开发收获

通过今天的学习,让我对以前学习过程中生疏的知识点有了更加全面的认识。尤其是对多维指针的理解,通过今天的学习,让我明白了多维指针的精髓。同时,我知道了什么是野指针,怎样避免野指针的出现。最让我高兴的是,我知道了怎么规范的定义函数和怎样进行代码框架的构造。

 

自我评价

 

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

 

 

今天可以跟上老师的步骤,再次接触指针的相关知识,感觉有些陌生,但是跟着老师的步骤,让我学起来还是没有那么吃力的,再认识野指针的时候感觉很容易接收,很快的便掌握了怎样避免野指针的出现,这让我非常的高兴。还有就是在对多维指针的学习上,也没像刚开始接触C语言是那样感觉那么吃力,这主要是老师教的比较认真。同时,这就要求自己课后要多加练习才能更加深刻的理解这些知识。

其他

 

 

 

今日所写代码如下:

1.求各种数据类型指针的所占字节的长度 

  1 #include<stdio.h>
  2 
  3 int main()
  4 {
  5     printf("int = %d\n",sizeof(int *));
  6     printf("double = %d\n",sizeof(double *));
  7     printf("float = %d\n",sizeof(float *));
  8     printf("short = %d\n",sizeof(short *));
  9     printf("long = %d\n",sizeof(long *));
 10     printf("char = %d\n",sizeof(char *));
 11 
 12     return 0;
 13 }

2.使用指针输入字符串

 1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<string.h>
  4 
  5 #define MAX_LEN sizeof(char) * 50
  6 int main()
  7 {
  8     char * ptr = (char *)malloc(MAX_LEN);
  9     char *temp = ptr;
 10     if(ptr == NULL)
 11     {
 12         printf("malloc error !\n");
 13         exit(1);
 14     }
 15     memset(ptr,0,MAX_LEN);
 16     printf("Please input string:");
 17     scanf("%s",ptr);
 18     while(*temp != '\0')
 19     {
 20         printf("%c",*temp);
 21         temp++;
 22     }
 23     free(ptr);
 24 
 25     ptr = NULL;
 26 
 27 
 28     return 0;
 29 }
3.统计字串中最长的连续数字的个数

  1 #include <stdio.h>
  2 #include <string.h>
  3 #include <stdlib.h>
  4 
  5 #define MAX_LEN sizeof(char) * 50
  6 int main()
  7 {
  8     int i;
  9     int len = 0;
 10     int max = 0;
 11     char *str = (char *)malloc(MAX_LEN);
 12     char *str1 = (char *)malloc(MAX_LEN);
 13     char *temp = str;
 14 
 15     if(str == NULL || str1 == NULL)
 16     {
 17         printf("mallc error !\n");
 18         exit(1);
 19     }
 20     memset(str,0,MAX_LEN);
 21     memset(str1,0,MAX_LEN);
 22     printf("Please input string:");
 23     scanf("%s",str);
 24     while(*temp != '\0')
 25     {
 26         while((*temp >= '0') && (*temp <= '9'))
 27         {
 28             len++;
 29             temp++;
 30         }
 31         if(len > max)
 32         {
 33             max = len;
 34             for(i = 0;i < max; i++)
 35             {
 36                 *(str1 + i) = *(temp - len + i);
 37             }
 38             *(str1 + max) = '\0';
 39         }
 40         len = 0;
 41         temp++;
 42     }
 43     printf("the result = %d\n",max);
 44     printf("str1 = %s\n",str1);
 45 
 46     return 0;
 47 }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值