苏嵌/赵俊豪/2018.07.18

 

 

今日学习任务

 

1、熟练掌握数组的使用;1-3 数组名的作用,数组的使用

2、熟练特殊数组的使用;(指针数组、函数指针数组等

3、熟练掌握右左法则的使用;复杂定义声明解释

日任务完成情况

 

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

  • 函数调用过程:
  1. 函数名也是一个指针常量(保存函数的入口地址)

   通过函数名找到函数的入口地址

  1. 给形参分配空间
  2. 传参(传值和传地址)
  3. 执行函数体的语句
  4. 返回
  5. 释放空间
  6. 传入参数和传出参数
  • 传值:当只使用不修改参数变量的值;传是参变量名

    传地址:当修改了实参变量值时;传实参变量对应的地址空间

三、数组

  1. 遍历数组
  2. 数组名的作用
  3. 数组指针变量的使用及作用
  4. 指针数组的用法
  5. 一维数组、二维组数、三维数组

 

日开发中出现的问题汇总

 

对数组的对应内存空间和对空内存空间的地址关系,在多维数字中不易理解

 

 

自我评

 

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

 

 

了解了函数的使用方法;如何使子函数返回多个值。

 

#include <stdio.h>
#include <string.h>


char * my_strcpy(char *dest,char *src)
{
    char *d_tmp = dest;
    char *s_tmp = src;
    while(*s_tmp != '\0')
    {
        *d_tmp = *s_tmp;
    s_tmp++;
    d_tmp++;
    }
    *d_tmp = '\0';
    return dest;
}
char * my_strncpy(char *dest,char *src, int n)
{
    int i;
    char *d_tmp = dest;
    char *s_tmp = src;
    for(i = 0;i < n;i++)
    {
        *d_tmp = *s_tmp;
    s_tmp++;
    d_tmp++;
    }
    *d_tmp = '\0';
    return dest;
}
char *my_strcat(char *dest,char *src)
{
    char *d_tmp = dest;
    char *s_tmp = src;
    while(*d_tmp != '\0')
    {
        d_tmp++;
    }
    while(*s_tmp != '\0')
    {
        *d_tmp = *s_tmp;
    d_tmp++;
    s_tmp++;
    }
    *d_tmp = '\0';
    return dest;
}
char *my_strncat(char *dest,char *src,int n)
{
    int i;
    char *d_tmp = dest;
    char *s_tmp = src;
    while(*d_tmp != '\0')
    {
        d_tmp++;
    }
    for(i = 0;i < n;i++)
    {
        *(d_tmp + i) = *(s_tmp + i);
    }
    *(d_tmp + i) = '\0';
    return dest;
}
int my_strcmp(char *dest,char *src)
{
    int ret;
    while(*dest == * src)
    {
        src++;
    dest++;
    if(*dest == '\0' && *src == '\0')
    {
        ret = 0;
        return ret;
    }
    }
    if(*dest < *src)
    {
        ret = -1;
    return ret;
    }
    if(*dest > *src)
    {
        ret = 1;
    return ret;
    }
}
int main()
{
    char str[100] = "hello world";
   // char str1[60];
    char *ptr = "hello world";

    int ret = my_strcmp(str,ptr);

    printf("ret = %d\n",ret);

  //  char *temp = my_strncat(str, ptr,5);

   // char *temp = my_strcpy(str, ptr);
  //  char *temp2 = my_strncpy(str1 , ptr , 2);
 //   printf("str = %s\n",temp);
 //   printf("str1 = %s\n",temp2);
    return 0;
}

 

#include<stdio.h>

#define MAX_LEN 3
int main()
{
    int i;
    int a[MAX_LEN];
    int *pa = a;

    for(i = 0;i < MAX_LEN;i++)
    {
        //scanf("%d",pa + i);
    //scanf("%d",&a[i]);
    //scanf("%d",a + i);
    scanf("%d",pa++);
    }
    pa = a;
    for(i = 0;i < MAX_LEN;i++)
    {
        printf("a[%d] = %d\n",i,*(pa ++));
      //  printf("a[%d] = %d\n",i,*(pa + i));
      //  printf("a[%d] = %d\n",i,a[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、付费专栏及课程。

余额充值