学习日志 姓名: 日期:2018.7.17
|
|
今日学习任务
| 1、 熟练掌握指针的定义与使用;(对应内存空间与指向内存空间) 2、 熟练掌握野指针及如何防止野指针;(消灭野指针) 3、 熟练掌握多维指针的使用;(n维指针) 4、 熟练掌握字符串的操作;(实现并使用字符串处理函数) |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 今日任务基本完成,详细代码见附件 |
今日开发中出现的问题汇总
| 1、对于p++和(*p)++的计算关键在于前者是p对应的内存空间的值加1(步长)(4),后者是p指向的内存空间的值加一(值)。 2、 |
今日未解决问题
| 无 |
今日开发收获 | 在使用指针时,要养成良好的习惯:
取内容(*)和取地址(&) 指针是一个变量,用来保存地址;由于地址步长长短不一,需要有不同类型的指针,不同类型指针有不同的步长。 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 任务基本完成,对于指针的具体的使用还需要多加练习。 |
其他
| 无 |
1 #include<stdio.h>
2 int main()
3 {
4 printf("int * = %d\n",sizeof(int *));
5 printf("float * = %d\n",sizeof(float *));
6 printf("double * = %d\n",sizeof(double *));
7 printf("long * = %d\n",sizeof(long *));
8 printf("short * = %d\n",sizeof(short *));
9 }
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 #define MAX_LEN sizeof(char) * 100
6 int main()
7 {
8 char *ptr = (char *)malloc(MAX_LEN);
9 char *s = (char *)malloc(MAX_LEN);
10
11 char *p_temp=ptr;
12 char *s_temp=s;
13
14 int i;
15 int max = 0;
16 int count = 0;
17
18 printf("please input string:\n");
19 scanf("%s",ptr);
20 p_temp = ptr;
21
22 if(ptr == NULL || s == NULL)
23 {
24 printf("malloc error!\n");
25 exit(1);
26 }
27 memset(ptr,0,MAX_LEN);
28 memset(s,0,MAX_LEN);
29
30 while(*p_temp != '\0')
31 {
32 if((*p_temp >= '0') && (*p_temp <= '9'))
33 {
34 count++;
35
36 }
37 if(count > max)
38 {
39 max = count;
40 s_temp = s;
41 s = p_temp - count;
42 for(i = 0;i < count;i++)
43 {
44 *(s + i) = *(p_temp + i);
45 }
46 *(s + i)= '\0';
47 }
48 else
49 {
50 count = 0;
51 }
52 p_temp++;
53 }
54
55 printf("the max count is:%d\n",max);
56 printf("%s\n",s_temp);
57
58 free(ptr);
59 free(s);
60 ptr = NULL;
61 s = NULL;
62 }