C++学习---指针相关

1.指向 “指针对象” 的 ”指针”

一般指针

int *p1,ival =42;

p1 = &ival;

或者

int ival =42,*p1=&val;

代表一个指针对象指向一个同类型的地址区域,如果想要得到值用解析符*即可

*p1 //p1存储的是一段内存地址,*符号解析该地址等到值42

指向 指针对象 的 指针

上图是指向int对象的指针,而现在的对象则是指针对象。

int i = 42,*p1,**p2 ;

p1 = &i;

p2 = &p1;

需要使用**是有原因的

2.指向常量的指针和常量指针

指向常量类型

const int ival = 42;

const int *p1 = &ival;

常量指针

int ival = 42;

int *const p1 = &ival;//p1将一直指向ival

时间: 2024-11-29 02:49:27

C++学习---指针相关的相关文章

学习指针变量占用内存字节数相关心得

在学习设置数据收发缓冲区时,做以下实验 void main () { LPBYTE m_data=new BYTE[16]; memcpy(m_data,"example",sizeof(m_data)); string str=" "; str[0]=m_data[3]; cout<<str<<endl; } 函数memcpy(m_data,"example",sizeof(m_data));将“example”在内存中

《C++ Primer》学习 之 函数指针相关用法

/* 函数指针相关用法*/ 1 #define _CRT_SECURE_NO_WARNINGS 2 #define HOME 3 //#define NDEBUG 4 #include <iostream> 5 #include <stdexcept> 6 #include <cassert> 7 #include <ctype.h> 8 #include <locale> 9 #include <iterator> 10 #incl

Golang 才是学习指针的安全之地,关于指针的二三事

感谢平台分享-http://bjbsair.com/2020-04-10/tech-info/53305.html 本章学习目标 学会声明和使用指针 理解指针和随机访问存储器(RAM)之间的关系 了解指针的使用时机 当我们在街上散步的时候,常常会看到一些用于指引方位的地址和街道标识.你可能曾经遇到过这样一种情况,一家大门紧闭的商店在它的橱窗上贴出了道歉标语"抱歉,本店已乔迁新址!",并在标语的下方给出新的地址.指针就有点儿像这个给出新地址的标语,它会把你指引至不同的地址. 指针是指向另

答读者问(8):有关Java学习的相关问题

最近,我收到一位研究生朋友的邮件,大致内容如下: 周老师您好,我是XXX大学软件工程专业的一名研究生我叫XXX,学习的方向是java,有些问题不知道周老师能否帮我解惑下,在此谢谢老师! 1.我应该专注于后台的学习么?我在实际学习中,感觉到前台和后台也是分不开的总要涉及到,学习的过程中我学习了SSH大量的知识,再回头看看前台的一些技术jsp,html,css,jQuery感觉技术太多了,需要大量的练习记忆,不知道到底应该如何学习这些知识? 2.精通SSH(在此以SSH举个例子)等等技术到底需要个什

C语言学习——指针

指针 在学习指针之前,首先应该了解一些东西: 内存是什么? 从硬件形态上说,内存就是一条形物理设备,从功能上讲,内存是一个数据仓库,程序内在执行前都要被装载到内存中,才能被中央处理器执行.内存是由按顺序编号的一系列存储单元组成的,在内存中,每个存储单元都由唯一的地址,通过地址可以方便地在内存单元中存储信息.在计算机中,一切信息都是以二进制数据的形式体现的,每个内存单元的容量是1B,即8bit(8个0.1二进制位). 1.取地址运算符&, 间接运算符* &运算符:  取地址运算符,&

和指针相关的两个特殊运算符,和相关的等价表达式

和指针相关的两个特殊运算符: 一."&" 取地址运算符,通过&运算符可以取出普通变量的地址: 二."*"  有两种意义: 1.  为指针标志: 是否为指针标志主要看前面是否有类型,此处有一个int 2.  为指针运算符:    在等号右面为取值.*可以取出指针变量所指向的普通变量的值.   在等号左面为赋值.*可以将指针变量所指向的普通变量的值,修改为其他. 3.  为乘法运算符.当且仅当左右的都为变量时.略. 如 int a, b =20, c=3

指针相关总结1

指针相关总结1 指针是数组的迭代器(指针就是迭代器). 0.字符串数组: char a[3][25]= {"XUANXIU YUWEN ", "XUANXIU YUWEN", "FEIXUANXIU TIYU"};就行了 定义成二维数组存储时可以简单看作一排一个字符串数组, char* a[10] = {"XUANXIU", "YUWEN", "XUANXIU", "SHUXU

学习指针遇到的问题

第一个问题: 上边这个图中打印出来的ptr1的地址和&ptr1的地址分别是什么的地址? 我理解的ptr1的地址就是ptr1这个指针变量自己的地址,&ptr1的地址就是ptr1这个指针指向的地址,也就是这个程序中urn这个字符数组的首地址,是这样吗? 如果我的理解是正确的话,是不是就是代表ptr1 = urn:这句话把urn的地址赋给指针ptr1就可以理解为,ptr1这个指针本身的地址不变,ptr1这个指针指向urn的首地址. 第二个问题: 在书中讲const关键字的时候提到了const关键

150312——开始学习指针

引入指针学习,依旧是那个几乎每本书上都会提到的交换两个数数值的程序: 1 #include<stdio.h> 2 void interchange(int *m,int *n); 3 int main() 4 { 5 int x=1,y=3; 6 7 interchange(&x,&y); //向函数传送地址 8 printf("x=%d,y=%d\n",x,y); 9 return 0; 10 11 } 12 13 void interchange(int