![]()
学习日志 姓名:张朋 日期:2018年07月18日
|
|
|
|
今日学习任务
|
|
|
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) |
今日任务按计划完成。
|
|
今日开发中出现的问题汇总
|
|
|
今日未解决问题
|
无 |
|
今日开发收获 |
通过今天的学习,让我对指针和数组的理解更加的深刻了,明白了函数有关的相关知识(以前所不知道的知识)。懂得了怎么让函数返回多个值。还有就是数组名的作用,以及如何画多维数组的内存分布图。同时,通过今天课上的代码练习,让我进一步的增强了写代码的能力。 |
|
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
|
今天可以跟上老师的步骤, 在今天的学习中,我懂得了之前一直模糊不清的知识点,让我不再对多维数组和指针感到恐惧,反而更加喜欢编写这方面的程序。但是,由于只是刚刚开始理解这些方面的知识,所以编写代码的时候还是非常吃力的。这就要求自己在课下多花些时间编写代码,通过大量的练习不断的提高自己的能力。 |
|
其他
|
无 |
//1.数组的遍历方法(多种方法)(源代码如下)
1 #include <stdio.h>
2
3 #define MAX_LEN 3
4 int main()
5 {
6 int i;
7 int arr[MAX_LEN];
8 int * parr = arr;
9
10 int arr_len;
11
12 for(i = 0; i < MAX_LEN; i++)
13 {
14 // scanf("%d",arr + i);
15 // scanf("%d",parr + i);
16 //scanf("%d",&arr[i]);
17 scanf("%d",parr++);
18 }
19 parr = arr;
20 for(i = 0; i < MAX_LEN; i++)
21 {
22 // printf("arr[%d] = %d\n",i,arr[i]);
23 printf("arr[%d] = %d\n",i,*parr++);
24 }
25
26
27 return 0;
28 }
//2.进行多个系统功能函数的重写,源代码如下:
1 #include <stdio.h>
2 #include <string.h>
3
4 char *my_strcpy(char *dest, char *src)
5 {
6 char *d_tmp = dest;
7 char *s_tmp = src;
8 while(*s_tmp != '\0')
9 {
10 *d_tmp = *s_tmp;
11 d_tmp++;
12 s_tmp++;
13 }
14 *d_tmp = '\0';
15 return dest;
16 }
17 char *my_strncpy(char *dest, char *src, int num)
18 {
19 int i;
20 char *d_tmp = dest;
21 char *s_tmp =src;
22
23 for(i = 0; i < num; i++)
24 {
25 *(d_tmp + i) = *(s_tmp + i);
26 }
27 *(d_tmp + i) = '\0';
28 return d_tmp;
29 }
30 char *my_strcat(char *dest, char *src)
31 {
32
33 char *d_tmp = dest;
34 char *s_tmp = src;
35
36 while(*d_tmp != '\0')
37 {
38 d_tmp++;
39 }
40 while(*s_tmp != '\0')
41 {
42 *(d_tmp) = *(s_tmp);
43 s_tmp++;
44 d_tmp++;
45 }
46 *d_tmp = '\0';
47 return dest;
48 }
49 char *my_strncat(char *dest, char *src, int len)
50 {
51 int i;
52
53 char *d_tmp = dest;
54 char *s_tmp = src;
55
56 while(*d_tmp != '\0')
57 {
58 d_tmp++;
59 }
60 for(i = 0; i < len; i++)
61 {
62 *(d_tmp + i) = *(s_tmp + i);
63 }
64 *(d_tmp +i) = '\0';
65 return dest;
66 }
67 int my_strcmp(char *dest, char *src)
68 {
69 char *d_tmp = dest;
70 char *s_tmp = src;
71
72 while(*s_tmp == *d_tmp)
73 {
74 s_tmp++;
75 d_tmp++;
76 if((*s_tmp == '\0') && (*d_tmp == '\0'))
77 {
78 return 0;
79 }
80 if((*s_tmp) > (*d_tmp))
81 {
82 return -1;
83 }
84 if(*s_tmp < (*d_tmp))
85 {
86 return 1;
87 }
88 }
89 }
90 int main()
91 {
92 char *str = "hello world!";
93 //char *str1 = "Hi!Hi!";
94 char ptr[100] = "h!!!";
95
96 // char *temp = my_strcpy(ptr,str);
97
98 //char *temp1 = my_strncpy(ptr,str,3);
99 //char *temp2 = my_strcat(ptr,str);
100 // char *temp3 = my_strncat(ptr,str,3);
101 int ret = my_strcmp(ptr,str);
102 printf("str = %s\n",str);
103 printf("ptr = %s\n",ptr);
104 //printf("str1 = %s\n",str1);
105 // printf("temp = %s\n",temp);
106 // printf("temp1 = %s\n",temp1);
107 // printf("temp2 = %s\n",temp2);
108 // printf("temp3 = %s\n",temp3);
109 printf("ret = %d\n",ret);
110
111 return 0;
112 }
本文记录了一天内关于函数调用过程、数组操作及多维数组使用的深入学习经历,包括掌握函数调用流程、数组遍历技巧、多维数组应用及指针数组使用等内容。


被折叠的 条评论
为什么被折叠?



