复合类型和函数笔记整理

知识点整理:

四 复合类型

1.指针与指针变量的概念。

(1)指针:就是内存中的一个存储单元的地址,即内存单元的编号。

(2)指针变量:是一个能存放地址值的变量。通过它存放的地址值能间接访问它所指向的变量。

2.指针变量的定义。

类型名 *指针变量名

类型说明中可取C语言的有效类型,* 表示为指针型变量。如:

char *c1,*c2;

表示c1与c2是指针变量,其基类型是字符型。

注意:指针的基类型与其所指向的变量的类型要统一。

扫描二维码关注公众号,回复: 6583721 查看本文章

3.指针变量的使用方法

(1)使指针变量指向某个变量,(即将某变量的地址值赋给指针变量)例:

int x; int *p=&x; 或 int x ,*p; p=&x ;

(2)用间址运算(运算符为*)访问所指变量,例:

*p=5;//用作左值时代表所指的变量

x=*p+9;//用作右值时代表所指变量的值

注意:指针变量在使用之前一定要指向某变量,而不能用常数直接赋值

4.指针运算的优先级与结合性。

单目运算符优先级是相同的,但从右向左结合

5 .结构体的定义:结构体是一些值得集合,这些值称为成员变量,结构体的每个成员可以是不同类型的变量。

6 .结构体的声明:结构体的名称尽量做到见名知意,在结构体里可以放任何合法的内容,结构体内容不能为空,结构体变量可以声明多个,用逗号隔开(可以省略,建议省略)。

7.标准库类型string表示可变长度的字符序列。string类支持字符串对象的各种初始化方式,支持字符串之间的复制、比较和连接等操作,还支持对字符串长度的查询和是否为空的判断,并且也可以访问字符串中的单个字符。

8.定义和初始化vector必须指定元素的类型,格式为vector<元素类型>变量名;

9.初始化vector时可以指定vector对象的大小和初始值。常见的vector用法是创建一个空的vector,再根据需要用push_back()函数向vector中添加元素。

10.迭代器类似于指针类型,提供对对象的间接访问。迭代器在容器或string对象上使用,所以迭代器指向的对象是容器中的元素或string中的字符。

11.函数的调用完成两项工作:一是用实参初始化函数对应的形参;二是将控制权转移给被调用函数。

12.在函数中遇到return语句时函数结束执行,return语句完成两项工作:一是返回return语句中的值(如果有的话),二是将控制权从被调用函数转移回主调函数。

13.形参和函数体内定义的变量统称为局部变量。局部对象分为:自动对象和局部静态对象。

14.函数只能定义一次,但能声明多次。如果一个函数永远也不会被我们用到,那么它可以只声明不定义。函数声明也称为函数原型。

15.参数类型:一是引用传递,这时形参将绑定到对应的实参上,引用形参是它对应的实参的别名;二是值传递,这时实参的值拷贝给形参。

拷贝大的类类型或者容器对象比较低效, 甚至有的类类型(包括I/O在内)根本就不支持拷贝操作。当某种类型不支持拷贝操作时,函数只能通过引用形参访问该类型的对象。

16.指针形参:指针的行为同非引用类型。当执行指针拷贝操作时,拷贝的时指针的值,拷贝后,两个指针是不同的指针。

学习心得:

   学习函数部分,特别重要的是细心,比如函数的声明最后是有分号的,函数的定义则没有,还有就是要讲究方法,把大问题细分,分成若干个部分,分别求解每个小部分,这样就能做到不漏细节,把握全题。

  还有就是在设计某个函数时,要提前想好,设计的函数要达到什么目的,需要什么功能,在脑子中现有一个大体的设计方案,不要像无头苍蝇一样,边写边设计,这样就不能顾全大局,把握整体。

猜你喜欢

转载自blog.csdn.net/qq_43627108/article/details/88780781