学习日志 姓名:叶圣民 日期:2018.07.20.
| |
今日学习任务 | 1、熟练掌握数组的使用;(1-3 数组名的作用,数组的使用)2、熟练特殊数组的使用;(指针数组、函数指针数组等)3、熟练掌握右左法则的使用;(复杂定义声明解释) |
今日任务完成情况(详细说明本日任务是否按计划完成,开发的代码量) | 数组的分类:一维数组,二维数组,三维数组按元素的分类:(内置类型)数组、指针数组int main (int argc,char *argv[])argc:命令行参数个数atgv:命令行参数保存为字符型1、一维数组传参时子函数用一维数组名(一维数组首个元素的地址接)2、二维数组传参时子函数用(*ptr)[j](二维数组首个一维数组的地址)3、三维数组传参时子函数用(*ptr)[i][j](三维数组的首个二维数组的地址) |
今日开发中出现的问题汇总 | 数组的传参和数组具体的实现以及数组与指针的转化关系不太能搞懂。 |
今日未解决问题 | 无 |
今日开发收获 | 学会了子函数与主函数间数组的传参;数组与指针之间的具体关系; |
#include <stdio.h>
void printf_a(int *a)
{
int i = 0;
for(i = 0;i < 2;i++)
{
printf("a[%d] = %d\n",i,*(a + i));
}
}
void printf_aa(int (*aa)[2])
{
int i = 0;
int j = 0;
for(i = 0;i < 2;i++)
{
for(j = 0;j < 2;j++)
{
printf("aa[%d][%d] = %d\n",i,j,aa[i][j]);
}
}
}
void printf_aaa(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[2] = {1,2};
int aa[2][2] = {1,2,3,4};
int aaa[2][2][2] = {{1,2,3,4},{5,6,7,8}};
printf_a(a);
printf_aa(aa);
printf_aaa(aaa);
return 0;
}
#include <stdio.h>
#define MAX 100
void printf_str(char *str)
{
printf("str[MAX] = %s\n",str);
}
void printf_ptr(char (*ptr)[3])
{
int i = 0;
for(i = 0;i < 3;i++)
{
printf("ptr[%d][100] = %s\n",i,ptr[i]);
}
}
int main()
{
int i;
char str[MAX];
char ptr[3][MAX];
scanf("%[^\n]",str);
printf("str = %s\n",str);
#if 0
for(i = 0;i < 3;i++)
{
scanf("%s",ptr[i]);
printf("ptr[%d] = %s\n",i,*(ptr + i));
}
//printf_str(str);
#endif
printf_ptr(ptr);
//printf("%s\n",str);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void print_pa(int **pa)
{
int i;
for(i = 0;i < 3;i++)
{
pa[i] = (int *)malloc(sizeof(int) * 100);
scanf("%d",pa[i]);
printf("pa[%d] = %d\n",i,*pa[i]);
}
}
int main()
{
int a[3];
int *pa[3];
int i;
int num1 = 1;
int num2 = 2;
int num3 = 3;
//pa[0] = &num1;
//pa[1] = &num2;
//pa[2] = &num3;
#if 0
for(i = 0;i < 3;i++)
{
pa[i] = (int *)malloc(sizeof(int) * 100);
scanf("%d",pa[i]);
printf("pa[%d] = %d\n",i,*pa[i]);
}
#endif
print_pa(pa);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc,char *argv[])
{
int i;
if(argc != 4)
{
printf("input error!\n");
}
else
{
for(i = 1; i < argc;i++)
{
printf("argv[%d] = %d\n",i - 1,atoi(argv[i]));
}
}
return 0;
}
1024