苏嵌//张朋//2018.07.20

苏嵌                                                                                                                                   项目实战

学习日志                                       姓名:张朋                       日期:2018年07月20日

 

 

 

 

今日学习任务

 

  1. 掌握数组指针和指针数组。
  2. 掌握数组的分类。
  3. 理解指针数组的用法(掌握main的参数)

今日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

今日任务按计划完成。

  1. 了解并掌握了数组指针的相关知识。
  2. 明白了什么是命令行参数。
  3. 学会使用了命令行参数以及怎么利用命令行参数对程序进行优化。
  4. 了解了atoi()函数的用法。

今日开发中出现的问题汇总

 

  1. gets()函数和scanf()函数的区别是什么?
  2. 命令行参数在程序开发中的作用是什么?
  3. 怎么利用命令行参数进行程序的优化?
  4. atoi()函数的作用以及用法是怎样的?

 

今日未解决问题

 

今日开发收获

通过今天的学习,让我充分了解了什么是数组指针以及指针数组,更加充分的理解了数组的分类,懂得了什么是命令行参数以及如何使用一些功能函数,比如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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值