快乐企鹅教程之指针
马上就要临近考试了,那么鸟老师为大家整理了一些关于指针的内容方便大家快速查找,祝大家期末不挂! (’<>"/)/
首先是一些基础概念,有关部分都放在注释里面力
#include <iostream>
using namespace std;
/**
* cpp指针教学与示例
*
* 1.概念介绍
* 1.1 指针变量(pointer)的值是另一个变量的地址
* 1.2 占用空间
* count(int) 4 bytes/ status(short) 2 bytes/ letter(char) 1 bytes
* string:取决于string本身
* 然鹅,储存他们的指针变量占用的内存都是四个字节。。。
* (pointer)pCount/ pStatus/ pLetter/ pString 都是 4 bytes
* 1.3 count,&count,pCount都是啥
* 设count是一个int变量, int* pCount = &count(将 *pCount 的初值设置为 count 的地址);
* &count 是 count 的地址
* pCount 是 一个指针变量,其值为 count 的地址
* *pCount 就是 pCount 指向的变量 count
* @return
*/
int penguinIQ = 20;
void example1(){
int* lowIQPointer = &penguinIQ;
cout << "pointer: " << lowIQPointer << endl;
//大小测试
char char1 = 'q';
short short1 = 11451;
string string1 = "penguin is happy";
cout << sizeof(char1) << " " << sizeof(short1) << " " << string1.size() << endl;
cout << lowIQPointer << endl;
}
间接引用运算符和指针赋值时的种种限制
/**
* 1.4 间接引用运算符(解引用运算符)
* 承接上面所说的 *pCount 与 count 等价,*pCount也可称为是 count 的 间接引用运算符。
* 1.5 对指针赋值时的限制
* 对声明为一种变量类型的指针,只可以将对应类型变量的值赋给他
* 可以将指针变量赋值给同类型指针,不可以把其赋值给其他类型的变量
* 如果不为一个指针赋初值,那么这个指针的值是随机的
* @return
*/
void example2(){
int* pointer1;
cout << pointer1 << endl;
}
继续
/**
* 1.6 常量指针
* 常量指针是一个常量,但其指向的量则并不一定是常量
* 请看示例代码
* 1.7 typedef 定义同义类型(就是自己创建一个类似于 int,string 一类的变量类型)
* 当我们想要一次声明多个指针时,一般只能分好几行依次写;
* 但是借助这个功能,我们就可以“方便”地这么做了。(我没看出来有多方便)
* 示例代码如下。
* @return
*/
void example3(){
//1.6
int