学习日志 姓名:张奇哲 日期:7.20
|
|
今日学习任务
| 一数组的地址
|
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量) |
|
今日开发中出现的问题汇总
| 对于数组指针传参时的使用不够清楚 |
今日未解决问题
| 无 |
今日开发收获 | 了解了指针数组和数组指针的区别,知道了大致的用法 对于数组与指针的理解更深了,方便日后的使用。 |
自我评价
(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)
| 对于今天的所学未能掌握清楚,需要后边自己进行理解与巩固。 |
其他
|
|
1、#include<stdio.h>
int test1(int *a)
{
int i;
for(i = 0;i < 3;i++)
{
printf("a[%d] %d\n",i,*(a + i));
}
}
int test2(int (*aa)[2])
{
int i;
int j;
for(i = 0;i < 2;i++)
{
for(j = 0;j < 2;j++)
{
printf("a[%d][%d] %d\n",i,j,aa[i][j]);
}
}
}
int test3(int (*aaa)[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("a[%d][%d][%d] %d\n",i,j,k,aaa[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}};
test1(a);
test2(aa);
test3(aaa);
return 0;
}
2、利用命令行传参
#include<stdio.h>
int main(int argc,char *argv[] )
{
if(argc != 4)
{
printf("Please input two 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;
}
3、输出一个整型数组
#include<stdio.h>
int main()
{
int a[3];
int *pa[3];
int i;
int num1 = 5;
int num2 = 6;
int num3 = 7;
pa[0] = &num1;
pa[1] = &num2;
pa[2] = &num3;
for(i = 0;i < 3;i++)
{
pa[i] = (int *)malloc(sizeof (int));
scanf("%d",pa[i]);
printf("%d\n",*(pa[i]));
}
return 0;
}