`

c++学习笔记六

    博客分类:
  • c++
c++ 
阅读更多

指针
可以使用指针记号操作存储在数组中的数据
可以在函数中访问函数外部的大块数据
动态为新变量分配空间

1 指针的声明: long * pnumber;
2 地址运算符: &
例如:long number=1234L;
long * pnumber;
pnumber=&number;
3 间接运算符: *
4 指针的初始化 :
可以用变量地址初始化指针,代码如下:
int number=10;
int * pnumber=&number;
还可以int * pnumber=0;
5 把指针初始化为char类型
可以用字符串字面量初始化:char * str1="this is a test!"; (由于字面量是const类型,所以该指针只是指向该字符串地址,不能修改其字符串内容;若想修改其内容,可以用以下形式:const char * str1="this is a test!";)
指针数组 '
格式如下:
const char * strs[]={"first","second","third","forth","fifth"};
使用指针对字符串进行排序
让输出结果变整齐
6 常量指针和指向常量的指针
const char * strs[]={"first","second","third","forth","fifth"};
以上指针可以通过以下语名进行修改: strs[1]=strs[2];(让两个指针指向同一地址,实际字符串的地址不变)
进行如下修改后指针数组就不能修改了:
const char * const strs[]={"1","2","3","4"};


对指针及其指向的内容使用const有三种不同情况:
(1)指向常量的指针:const char * parstr="this is a test string!";(指针指向的内容不能修改)
(2)常量指针: int num=100; int * const pnum=# (存储在指针中的地址不能修改)
(3)指向常量的常量指针 int num=100; const int * const pnum=#(两者都不能改变)
7 指针和数组
指针的算术运算
指针递增一: int * pnmu[]; pnum++; (称动指针到指针指向数组的下一个元素)
计算两个指针之间的差
使用指针名的数组表示法
把数组用作指外针: int nums[2]={1,2};可以用指针表示法 如 nums[2]等同于(*data+3)
对多维数组使用指针: int bean[2][3]; int * pbean=&bean[0][0]
c样式字符串的操作
在<cctype>中声明的函数,实现分析和转换单个字符
头文件在<cstring>
连接字符串: strcat() 把第二个字串追加到第一个字串中
strncat()有三个叁数,前两个同上,第三个用于指定第二个字符串的字符个数
复制:strcpy()
比较:strcmp()
搜索:strchar()
8 动态分配内存
自由存储区:程序中没有用到的内存空间 new对应的delete 用来释放未用到的空间
数组的动态内存分配: pstring=new char[20];(分配自由存储区的内存)
删险数组时使用 delete [] pstring; 这里可以不用指定维数
动态分配内存的危险
内存泄露 new后一定要使用delete释放内存
指针和变量的作用域
自由存储区的碎片
转换指针
reinterpret_cast<指针类型>(表达式) 强制转换任何类型指针
例如:float value=2.5f;
float * pvalue=&value;
long * pnumber= reinterpret_cast<long>(pvalue); (类型为long,值本身没有变)

分享到:
评论

相关推荐

    c++学习笔记精华版

    ### C++ 学习笔记精华版 #### 一、C++ 语言概述 **1、历史背景** - **C++ 的江湖地位** - Java、C、C++、Python、C# 是当前主流的编程语言之一,而 C++ 在这些语言中以其高效性和灵活性著称。 - **C++ 之父 ...

    C++学习笔记本

    C++学习笔记C++学习笔记C++学习笔记C++学习笔记C++学习笔记

    C++学习笔记.pdf

    C++学习笔记

    C++ 学习笔记 整理

    这份"C++学习笔记"涵盖了C++的基础到高级概念,旨在帮助初学者和有一定经验的程序员深入理解并掌握C++。 在C++的学习过程中,以下几个关键知识点是不可或缺的: 1. **基础语法**:C++起源于C语言,因此它保留了...

    c++学习笔记6

    最近一年的C++学习笔记,分享出来,文件已加密压缩,下载前请提前联系我!

    c++学习笔记.pdf

    C++是一种静态类型、编译式、通用的编程语言,它支持过程化编程、面向对象编程和泛型编程。C++广泛应用于软件开发领域,包括操作...以上内容覆盖了C++语言中一些基础知识点,对于学习和理解C++编程具有重要的指导意义。

    C++学习笔记.doc

    【C++ 学习笔记】深入理解编程与C++基础 C++是一种强大的、面向对象的编程语言,广泛应用于系统软件、游戏开发、嵌入式系统以及许多高性能应用。学习C++不仅仅是掌握语法,更重要的是理解编程的核心概念,以便更好...

    【C++学习笔记】一份详细的学习笔记,让你轻松掌握C++编程!

    【C++学习笔记】这份详尽的资源是为那些希望深入了解C++编程语言的人们精心准备的。C++是一种强大的、通用的编程语言,它的设计理念是面向对象,同时支持过程化编程,使得它在系统软件、应用软件、游戏开发、设备...

    C++ 学习笔记002

    C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记002

    C++ 学习笔记003

    C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记003

    C++ 学习笔记004

    C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记004

    C++ 学习笔记001

    C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记001

    c++学习笔记(个人学习时做的笔记)

    【C++学习笔记概述】 C++是一门强大的编程语言,其在C语言的基础上进行了扩展,引入了许多现代化的特性。这份笔记主要涵盖了C++的基础知识,包括C++11和C++17的新特性,旨在帮助初学者理解C++的核心概念。 ### C++...

    C++学习笔记.docx

    C++学习笔记 本文档提供了C++语言的基础知识,包括输入输出、变量、数据类型、运算符、内存管理、指针、流程控制语句等。 输入输出 C++语言提供了多种输入输出方式,包括使用cin和cout对象。cin对象用于从标准...

    新手C++学习笔记(仅供菜鸟成长参考).rar

    《新手C++学习笔记》是一份专为编程初学者打造的资源,旨在帮助那些刚刚踏入C++编程领域的“菜鸟”快速成长。这份笔记包含了前辈们的实践经验总结,具有很高的学习价值。文档以.doc格式存储,方便读者使用常见的文字...

    c++学习笔记

    这份"C++学习笔记"涵盖了C++的基础概念、语法结构、面向对象编程以及可能的高级主题,旨在帮助初学者或者有经验的程序员巩固C++知识。 首先,C++是从C语言发展而来,它保留了C语言的效率,同时引入了类和对象的概念...

    C++整理笔记word版——01 C++学习笔记

    C++是一种强大的面向对象编程语言,它源自C语言并扩展了其...学习这些概念是成为C++程序员的第一步。在实际编程中,还需要理解类、对象、继承、多态等面向对象编程的概念,以及函数、模板、文件操作等更高级的主题。

    C++学习笔记经典(与C比较)

    《C++学习笔记经典(与C比较)》这份资料应该会详细讲解这些知识点,并通过实例来帮助读者深入理解C++与C的差异,以及如何在实际编程中应用C++的特性和功能。这份资料可能会涵盖基本语法、类和对象、模板、STL的使用...

    黑马C++学习笔记

    "黑马C++学习笔记" 本笔记主要记录了C++的基础知识和一些重要的概念,包括变量的声明、赋值、输出、引用、指针、结构体等。 变量声明和赋值 在C++中,变量的声明和赋值是非常重要的。变量可以是整数、浮点数、...

Global site tag (gtag.js) - Google Analytics