C语言—指针(3)

嘿嘿嘿嘿,你看我像指针吗?

不会写,等我啥时候会写了再说吧,真的累了,倦了

1.面试题
  1)定义整形变量i;                
  2)p为指向整形变量的指针变量;     
  3)定义整形一维数组p,它有n 个整形元素;
  4)定义一维指针数组p,它有n个指向整形变量的指针元素; 
  5)定义p为指向(含有n个整形元素的一维数组)的指针变量;
  6)p为返回整形函数值的函数;                            
  7)p为返回一个指针的函数,该指针指向整形数据;        
  8)p为指向函数的指针变量,该函数返回一个整形值;       
  9)p是一个指向整形指针变量的指针变量;
2.动态申请一个具有10个float类型元素的内存空间,从一个已有的数组中拷贝数据,并找出第一次出现 12.35 的下标位置,并输出。
3.动态申请一个整型数组,并给每个元素赋值,要求删除第3个元素;
4.动态申请一个整型数组,并给每个元素赋值,要求在第4个元素后插入100;

思考题:
    编写一个函数,实现 void *memmove(void *dest, const void *src, size_t n);的功能。 
       提示: 将形参dest,src 先强制类型转换为一个char* 类型,然后利用从后向前逐字节进行数据拷贝,最终返回dest 指针

#include <stdio.h>
#include <stdlib.h>


void* mymemmove(void *dest,const void* src,size_t n)
{
    char *d  = (char*)dest;
    char *s  = (char*)src;

    if((s < d) && ((s + n) > d))
    {
           d += n - 1;
           s += n - 1;
           while(n--)
           {
               // *d-- = *s--;
                *d = *s;
                 d--;
                 s--;
           }
    }
    else
    {
         while(n--)
         {
            *d = *s;
             d++;
             s++;              
         }
    }
    return dest;
}

int main(int argc,char** argv)
{
    int a[6] = {1,7,3,8,2};

    mymemmove(a+3,a+2,4*sizeof(int));

    a[2] = 100;

    for(register int i = 0; i < 6; i++)
       printf("%5d",a[i]);
    printf("\n");

    return 0;
}

相关推荐

  1. C语言指针3

    2024-02-20 19:10:02       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 19:10:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 19:10:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 19:10:02       87 阅读
  4. Python语言-面向对象

    2024-02-20 19:10:02       96 阅读

热门阅读

  1. 某movie搜索接口

    2024-02-20 19:10:02       45 阅读
  2. 深入理解C语言中的联合体(union)

    2024-02-20 19:10:02       45 阅读
  3. js之事件循环

    2024-02-20 19:10:02       51 阅读
  4. Qt之QChar类的字符判断

    2024-02-20 19:10:02       41 阅读
  5. Qt标准对话框设置

    2024-02-20 19:10:02       50 阅读
  6. 算法训练营day31,贪心算法5

    2024-02-20 19:10:02       53 阅读
  7. 阿里云上关于EDAS发布方式

    2024-02-20 19:10:02       35 阅读
  8. HTML单击图片独立放大

    2024-02-20 19:10:02       57 阅读
  9. 32RTC&BKP

    32RTC&BKP

    2024-02-20 19:10:02      54 阅读
  10. CSS进阶平面转换

    2024-02-20 19:10:02       47 阅读