指针
指针变量+1,相当于增加指向的类型的字节数
arrayname[i] = *(arrayname+i)
sizeof取到的值为数组的长度,sizeof对指针取到的值为指针的长度
小结:指针
声明指针
typeName * poiterName
poiterName为指针,typeName *为指针typeName的指针
给指针赋值
将内存地址赋给指针
可对变量名应用&来获得被命名的内存的地址
new返回未命名的内存地址
double* pn; char* pa; double bubble = 3.2; pn = &bubble; pa=new char;
解除指针引用
对指针解除引用意味着获得指针指向的值
cout<<*pn;//打印bubble的值
区分指针和指针所指向的值
若pt是指向int的指针,则*pt不是指向int的指针,而是完全等同于一个Int类型的变量
int * pt = new int;//分配地址指向指针pt *pt = 5;//存储值5在此地址
数组名
C++将数组名视为数组的第一个元素的地址
int tacos[10];//tocas等同于&tacos[0]
sizeof作用于数组名时,返回数组的长度
指针算术
+1的结果等于原来的地址值 上加上指向对象占用的字节数
-1的结果是两个指针的差
数组的动态联编和静态联编
全用数组声明来创建数组时,将采用静态联编,即数组的长度在编译时设置
int tacos[10];
长度为10
使用new[]操作符创建数组时,将采用动态联编(动态数组),即将在运行时为数组分配空间,其长度也将在运行时设置
int size; cin>>size; int* pz = new int [size]; ... delete[] pz;
动态分配大小
最后要删除指针
new新建,delete删除
数组表示法和指针表示法
使用方括号数组表示等同于对指针解除引用
tacos[0]等同于*tacos等同于tacos地址处的值
tacos[3]等同于*(tacos+3)等同于tacos+3地址处的值
int* pt = new int[10]; *pt = 5; pt[0] = 6; pt[9] = 44; int coats[10]; *(coast + 4) = 12;
Note
C++将数组名解释为数组第一个元素的地址。
wages=&wages[0]=address of first element of array
指针变量+1,相当于增加指向的类型的字节数
arrayname[i] = *(arrayname+i)
sizeof取到的值为数组的长度,sizeof对指针取到的值为指针的长度
小结:指针
声明指针
typeName * poiterName
poiterName为指针,typeName *为指针typeName的指针
给指针赋值
将内存地址赋给指针
可对变量名应用&来获得被命名的内存的地址
new返回未命名的内存地址
double* pn; char* pa; double bubble = 3.2; pn = &bubble; pa=new char;
解除指针引用
对指针解除引用意味着获得指针指向的值
cout<<*pn;//打印bubble的值
区分指针和指针所指向的值
若pt是指向int的指针,则*pt不是指向int的指针,而是完全等同于一个Int类型的变量
int * pt = new int;//分配地址指向指针pt *pt = 5;//存储值5在此地址
数组名
C++将数组名视为数组的第一个元素的地址
int tacos[10];//tocas等同于&tacos[0]
sizeof作用于数组名时,返回数组的长度
指针算术
+1的结果等于原来的地址值 上加上指向对象占用的字节数
-1的结果是两个指针的差
数组的动态联编和静态联编
全用数组声明来创建数组时,将采用静态联编,即数组的长度在编译时设置
int tacos[10];
长度为10
使用new[]操作符创建数组时,将采用动态联编(动态数组),即将在运行时为数组分配空间,其长度也将在运行时设置
int size; cin>>size; int* pz = new int [size]; ... delete[] pz;
动态分配大小
最后要删除指针
new新建,delete删除
数组表示法和指针表示法
使用方括号数组表示等同于对指针解除引用
tacos[0]等同于*tacos等同于tacos地址处的值
tacos[3]等同于*(tacos+3)等同于tacos+3地址处的值
int* pt = new int[10]; *pt = 5; pt[0] = 6; pt[9] = 44; int coats[10]; *(coast + 4) = 12;
Note
C++将数组名解释为数组第一个元素的地址。
wages=&wages[0]=address of first element of array
指针变量加1后,其增加的值等于指向的类型占用的字节数。



本文详细介绍了C++中指针的基本概念及其运算规则,包括指针的声明、赋值、解除引用以及指针算术等内容。同时,还探讨了数组名与指针之间的联系,并对比了静态联编与动态联编数组的区别。
1881

被折叠的 条评论
为什么被折叠?



