VC++/MFC学习笔记(四)

简介:   如何使用指针传递内存 一般使用指向指针的指针,或者用返回类型来传递。       指针:地址   变量的指针:变量的地址   指向变量的指针变量:存放变量地址的变量是指针变量,用来指向另一个变量。
 
如何使用指针传递内存
一般使用指向指针的指针,或者用返回类型来传递。
 
 
 
指针:地址
 
变量的指针:变量的地址
 
指向变量的指针变量:存放变量地址的变量是指针变量,用来指向另一个变量。为了表示指针变量和它所指向的变量之间的联系,在程序中用“*”符号表示“指向”,例如,pointer代表指针变量,而* pointer是pointer所指向的变量。
指针变量的定义: 基类型     *指针变量名
 
数组的指针:是指数组的起始地址,数组元素的指针是数组元素的地址。
指向数组的指针变量
数组名代表数组的首地址。
 
 
 
 
指向指针的指针:
 
指向函数的指针:
1、定义形式: 数据类型 (*指针变量名)();
此处的数据类型指的是函数的返回类型。
2、函数的调用可以通过函数名调用,也可以通过函数指针调用。
3、(*P)()表示定义一个指向函数的指针变量,它不是固定指向哪一个函数的,而只是表示定义了这样一个类型的变量,它是专门用来存放函数的入口地址的。在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。在一个程序中,一个指针变量可以先后指向不同的函数。
4、在给函数指针变量赋值的时候,只需给出函数名而不必给出参数。如:p=max;因为是将函数入口地址赋给p,而不牵涉到实参与形参的结合问题。不能写成“p=max(a,b)”形式。
5、用函数指针变量调用函数时,只需将(*p)代替函数名即可,在(*p)之后的括弧中根据需要写上实参。
6、对指向函数的指针变量,像p+n、p++、p——等运算是无意义的。
 
 
const char* 和 char*const的区别:
 
const的位置不同,作用也不同。 以*前后为区别,const在* 之前,表示指向常量的指针,在*之后表示指针常量。
 
如:char ch[5]="lisj";
     const char*pStr=ch;//或者可以写成 char const*pStr=ch;
此处为指向常量的指针,指向的对象是常量。指针值可以改变,但是指针指向内容不可改变。
*pStr='w';      //error
pStr="zhangsan";//ok
 
 char ch[5]="lisj";
 char*const pStr=ch;
此处为指针常量,指针值不可以修改,指向内容可以修改。
pStr="zhangsan";//error
*pStr='w';         //ok 
 
指针常量必须在定义的同时赋值。指向常量的指针可以先定义完了再赋值。
目录
相关文章
|
3月前
|
C++
c++学习笔记07 结构体
C++结构体的详细学习笔记07,涵盖了结构体的定义、使用、数组、指针、嵌套、与函数的交互以及在结构体中使用const的示例和解释。
39 0
|
2月前
|
安全 C语言 C++
C++学习笔记
C++学习笔记
|
3月前
|
C++
c++学习笔记02 运算符
C++学习笔记,介绍了C++中的运算符,包括基本的加减乘除、求模、前后置递增递减、赋值运算符、比较运算符和逻辑运算符的使用及其注意事项。
40 6
|
3月前
|
C++
c++学习笔记01 基本知识与数据类型
C++学习笔记,涵盖了C++中的常量定义、数据类型、变量内存大小计算、基本数据类型(整型、实型、字符型、字符串型、布尔型)以及转义字符的使用。
46 4
|
3月前
|
算法 C++
c++学习笔记04 数组
这篇文章是C++学习笔记4,主题是数组。
43 4
|
3月前
|
C++
【学习笔记】【C/C++】 c++字面值常量
【学习笔记】【C/C++】 c++字面值常量
39 1
|
3月前
|
存储 C++
c++学习笔记05 函数
C++函数使用的详细学习笔记05,包括函数的基本格式、值传递、函数声明、以及如何在不同文件中组织函数代码的示例和技巧。
34 0
c++学习笔记05 函数
|
3月前
|
编译器 C++
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
【C/C++学习笔记】C++声明与定义以及头文件与源文件的用途
46 0
|
3月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
40 0
|
3月前
|
C++
c++学习笔记09 引用
C++引用的详细学习笔记,解释了引用的概念、语法、使用注意事项以及引用与变量的关系。
43 0