学习日志 姓名:张朋 日期:2018年07月20日
|
|
今日学习任务
|
|
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) | 今日任务按计划完成。
|
今日开发中出现的问题汇总
|
|
今日未解决问题
| 无 |
今日开发收获 | 通过今天的学习,让我充分了解了什么是数组指针以及指针数组,更加充分的理解了数组的分类,懂得了什么是命令行参数以及如何使用一些功能函数,比如atoi()函数、gets()函数等。明白了在指针数组分配内存空间的时候指针数组相当于一个二维数组。 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 今天可以跟上老师的步骤,总的来说今天对数组指针的理解还是比较深刻的,相当于刚开始学习这方面知识点的时候,有了很大的进步,但是,有些时候还是会听的比较糊涂,需要自己课后花大量的时间练习这方面的知识,通过大量代码的练习来不断的提高自己。 |
其他
| 无 |
1.遍历输出指针数组中的值,源代码如下:
#include <stdio.h>
int main()
{
int i;
int *pa[3];
int num1 = 5;
int num2 = 6;
int num3 = 7;
pa[0] = &num1;
pa[1] = &num2;
pa[2] = &num3;
for(i = 0; i < 3; i++)
{
printf("pa[%d] = %d\n",i,*pa[i]);
}
return 0;
}
2.数组指针的相关练习,代码如下:
#include <stdio.h>
void print1_func(char *str)
{
printf("str = %s\n",str);
}
void print2_func(char (*ptr)[100])
{
int i;
for(i = 0; i < 3; i++)
{
scanf("%s",ptr[i]);
}
for(i = 0; i < 3; i++)
{
printf("ptr[%d] = %s\n ",i,ptr[i]);
}
}
int main()
{
int i;
char str[100];
char ptr[3][100];
#if 0
scanf("%s",str);
printf("str = %s\n",str);
for(i = 0; i < 3; i++)
{
scanf("%s",ptr[i]);
}
for(i = 0; i < 3; i++)
{
printf("ptr = %s\n",ptr[i]);
}
#endif
// scanf("%s",str);
// print1_func(str);
print2_func(ptr);
return 0;
}
#include <stdio.h>
void print1_func(int *a)
{
int i;
for(i= 0; i < 3; i++)
{
printf("a[%d] = %d\n",i,*(a + i));
}
}
void print2_func(int (*a)[2])
{
int i;
int j;
for(i = 0; i < 2; i++)
{
for(j = 0; j < 2; j++)
{
printf("aa[%d][%d] = %d\n",i,j,a[i][j]);
}
}
}
void print3_func(int (*aa)[2][2])
{
int i;
int j;
int k;
for(i = 0; i <2; i++)
{
for(j = 0; j < 2; j++)
{
for(k = 0; k <2; k++)
{
printf("aaa[%d][%d][%d] = %d\n",i,j,k,aa[i][j][k]);
}
}
}
}
int main()
{
int a[3] = {1,2,3};
int aa[2][2] = {1,2,3,4};
int aaa[2][2][2] = {{1,2,3,4},{5,6,7,8}};
print1_func(a);
print2_func(aa);
print3_func(aaa);
return 0;
}
3.指针数组的相关练习,源代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(int argc ,char *argv[])
{
if(argc != 4)
{
printf("Please input three number!!!\n");
exit(1);
}
printf("argc = %d\n",argc);
int i;
int a[3];
for(i = 1; i < argc; i++)
{
a[i - 1] = atoi(argv[i]);
}
for(i = 0; i < 3; i++)
{
printf("a[%d] = %d\n",i,a[i]);
}
return 0;
}