指针数组的要运用和运算以及类的简单阐述

本文详细介绍了C++中指针如何与数组交互,包括访问方式、算术运算、关系运算等。同时,阐述了函数参数传递的三种方式:值传递、地址传递及引用传递,并通过实例展示了这些概念的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

指向数组的指针=数组的首地址=数组名

指针变量名=&数组名[0].

指正变量名=数组名。

访问数组的方式:

(1)       数组名家下标p[10](2)指针名下标*p[10](3)数组名加偏移量(p+i)(4)指针名加偏移量*(p+i)

#include,<iostream>

#include<cstring>

using namespace std;

int main{}

{

char aa[5];

char p;

p=aa;//定义一个指向自己已有的数组指针

{for(int i=0;i<5;i++)

cin>>p[i];}

{for(int i=0;i<5;i++)

cout<<*(p+i)<<endl;}

}

他可以进行算术运算和关系运算

P1<p2表示p1指向的在p2指向元素的前边

P1>p2;p1=p2;

将字符串以单个的字符方式输出

#include,<iostream>

using namespace std;

int main{}

 

{char*str=”kkkkkkkk”;

while(*str=’/0’)//不明确个数的时候一般用whlie循环

{

cout<<*str<<’/t’;

str++;}

}

函数参数的传递方式:当函数调用时,将实参传递给形参。

(1)       值传递:定义的实参值=调用的形参值,将实参的值赋给形参。

(2)       地址传递:定义时,把形参定义成指针,调用时将实参的地址赋给形参。

例子:

#include<iostream>

void swap(int*,int*);

using namespace std;

int main()

{

       int a,b;

       cin>>a>>b;

       cout<<"a="<<a<<"b="<<b<<endl;

    cout<<"swapped"<<endl;

       swap(&a,&b);

       cout<<"a="<<a<<"b="<<b<<endl;

}

void swap(int *p1,int *p2)

{

       int p;

       p=*p1;

       *p1=*p2;

       *p2=p;

}

【备注】最后的结果时输入的a和b的值相互改变,通过子函数的调用来改变的!通过地址互换的方式。(函数的默认参数值)如果子函数中有默认值必须在开头对他的默认值进行申明,

(3)       引用传递:

函数重载:同一个名对应多个函数的实现,具体变现为一个对外接口多个内在实现方法。

编译器通过调用时参数的个数和类型选择同名函数。

重载函数的参数必须不同(参数类型和参数个数不同),如果参数相同返回值不同就会错误(编译器不能选择出用那个子函数),叫二义性。重载函数也有默认值!

例子(1)参数类型不同的重载函数

#include<iostream>

Int add(int,int);

Double add(doubnle,double);

using namespace std;

int main()

{

Cout<<add(5.10);

Cout<<add(10.0.5.0);

_}

子函数在调用时可以相互调用的!

类和对象的设计

类(他可以保护它里边的数据,不被别人随便看,只有自己定义的类对象才可以访问,他就设计一个分装包,外边的事物不能看见也不能访问。他也提高了数据的重用性)。

用户自定义的一类事物(自定义的一类数据),他时一个抽象概括的过程,就产生一个类!访问这个类就能找到这个类的特性。对象是类里边的元素,他是一个具体的事物,在类特性的基础上有自己的特性。

类申明的一般格式class(类名),private(似有数据成员和成员函数),protected(保护数据成员和成员函数)。Pubilc(共有数据成员和成员函数)

如;

class ss

{ini a,b,c;

int *o;//可以随便使用,但是他是属于这个类的,外界不能对他做修改

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值