当前位置: 首页 > news >正文

使用常数指针作为函数参数

在main.cpp里输入程序如下:

#include <iostream>  //使能cin(),cout();

#include <iomanip>      //使能setbase(),setfill(),setw(),setprecision(),setiosflags()和resetiosflags();

//setbase( char x )是设置输出数字的基数,如输出进制数则用setbase(8);如输出进制数则用setbase(10);如输出进制数则用setbase(16);

//setbase( char x )的参数x只能是,10和,其它参数无效,setbase对其后的cout都有影响;

 

//当程序需要在屏幕上显示输出时,可以使用插入操作符“<<”向cout输出流中插入字符;

//例如: cout<<"I love C++\n";

//当程序需要执行键盘输入时,可以使用抽取操作符“>>”从cin输人流中抽取字符;

//例如: int myAge;   cin>>myAge;

//I/O流的常用控制符如下:

//dec  置基数为;

//hex  置基数为;

//oct  置基数为;

//left   左对齐

//right  右对齐

//setiosflags(ios::left)           左对齐,left位于ios文件中

//setiosflags(ios::right)          右对齐,right位于ios文件中

//setiosflags(ios::uppercase)      控制进制数大写输出

//resetiosflags(ios::uppercase)    控制进制数小写输出

 

//setfill(c)                       没填充字符为c,对其后的cout都有影响;

//setw(n)                          设置值的输出宽度为n个字符,仅仅影响下一个数值输出;

 

//setiosflags(ios::showpos)        强制显示正负号,对于浮点数和十进制数,正数将显示+;

//setiosflags(ios::fixed)          固定以小数方式显示

//setiosflags(ios::showpoint)      若只有整数部分,则强制显示小数点;

//setprecision(n)                  设置浮点数小数点后有n位小数;

//setiosflags(ios::scientific)     指数表示;

//注意:在使用setiosflags()之后,一定要使用resetiosflags(()恢复到默认设置;否则,会出现意想不到的错误;

//例如:在cout<<setiosflags(ios::fixed)被使用完后,要调用cout<<resetiosflags(ios::fixed)恢复到默认设置;

//注意:cout<<setiosflags(ios::lowercase);  //控制进制数小写输出,在Visual studio C++2005中,不支持该语句;

//在不使用#include<iomanip>时,cout.setf(ios::right); //设置为右对齐输出;

//浮点数默认显示位有效位;

 

using namespace std; //告诉编译器使用std标准程序库;

 

unsigned char Add(const unsigned char *p1,const unsigned char *p2);

//声明函数Add();

 

int main()

{

    unsigned char *ptr1;  //声明指向unsigned char型存储空间的指针ptr1;

    ptr1=new unsigned char[5];

//声明一个unsigned char型数组,其大小为5;

    unsigned char *ptr2;//声明指向unsigned char型存储空间的指针ptr2;

    ptr2=new unsigned char[5];

//声明一个unsigned char型数组,其大小为5;

    unsigned char *ptr3;//声明指向unsigned char型存储空间的指针ptr3;

    ptr3=new unsigned char[5];

//声明一个unsigned char型数组,其大小为5;

 

    int i;

    for(i=0;i<5;i++) *(ptr1+i)=i+1; //将分配的数组初始化;

    for(i=0;i<5;i++) *(ptr2+i)=i+5; //将分配的数组初始化;

    for(i=0;i<5;i++) *(ptr3+i)=Add( ptr1+i,ptr2+i );

    cout<<"ptr1"for(i=0;i<5;i++) cout<<"\t"<< (int)( *(ptr1+i) ); cout<<endl;

    cout<<"ptr2"for(i=0;i<5;i++) cout<<"\t"<< (int)( *(ptr2+i) ); cout<<endl;

    cout<<"ptr3"for(i=0;i<5;i++) cout<<"\t"<< (int)( *(ptr3+i) ); cout<<endl;

    delete ptr1; //将指针ptr1所指向的数组存储空间释放掉;

    delete ptr2; //将指针ptr2所指向的数组存储空间释放掉;

    delete ptr3; //将指针ptr3所指向的数组存储空间释放掉;

    return(0); //退出函数;

}

 

unsigned char Add(const unsigned char *p1,const unsigned char *p2)

{

    return *p1+*p2;

}

http://www.lryc.cn/news/473502.html

相关文章:

  • wps宏代码学习
  • libavdevice.so.58: cannot open shared object file: No such file ordirectory踩坑
  • Rust:Vec<u8> 与 [u8] 之间的转换
  • Leetcode 课程表
  • Java面试经典 150 题.P55. 跳跃游戏(009)
  • 登录的时候密码使用crypto-js加密解密
  • LLM大模型部署实战指南:部署简化流程
  • 24年10月Google Play政策更新通知
  • 玄机-应急响应- Linux入侵排查
  • 数据驱动业务中的BDS对账班牛返款表集成方案
  • 【Kubernetes实战】三、资源组件Namespace、Pod、Label、Deployment、Service概述。
  • 去中心化的模型训练
  • Arthas调试线上代码技巧
  • QT访问数据库:应用提示Driver not loaded
  • 支持ANC的头戴式蓝牙耳机,更有小金标认证,QCY H3 Pro体验
  • net framework 3.5组件更新失败错误代码0x80072f8f怎样解决
  • C语言初阶:十一.代码调试技巧
  • Jenkins Pipeline 部署总结
  • HTTP的初步了解
  • SM单元 硬件
  • 如何从CSV、JSON等格式创建DataFrame
  • Java避坑案例 - 线程池错误的混用引发的性能故障分析
  • 七种方法助你找到实用且免费的API服务
  • leetcode-74-搜索二维矩阵
  • 122.WEB渗透测试-信息收集-ARL(13)
  • 动态规划 —— 路径问题-下降路径最小和
  • 【Linux网络】TCP_Socket
  • NVR批量管理软件/平台EasyNVR多个NVR同时管理支持视频投放在电视墙上
  • Springboot集成阿里云通义千问(灵积模型)
  • 微信公众号(或微信浏览器)获取openId(网页授权)