首页 > 编程语言 >C++指针需要知道的小细节

C++指针需要知道的小细节

时间:2023-05-31 22:24:01浏览次数:48  
标签:1024 int C++ 对象 细节 所示 pi 指针

一、定义和赋值一个普通对象

int ival = 1024;

如上述代码所示,将ival定义为一个int对象,并给予初始值1024。

二、指针对象的声明

int *pi;

1、如上述代码所示,当定义/声明某个特定类型的指针时,要在类型名称后加一个*号。

2、在这里,pi是int类型对象的指针。

三、指针的初始值

int *pi = &ival;

如上述代码所示,若希望取得对象所在的内存地址而非对象的值,应在对象前加一个取址运算符&。

四、提领操作(dereference)

if (*pi != 1024)
{
	*pi = 1024;
}

1、如上述代码所示,如果要访问一个由指针所指的对象,必须将该指针进行提领操作。(就是取得位于该指针所指内存地址上的对象)

标签:1024,int,C++,对象,细节,所示,pi,指针
From: https://www.cnblogs.com/cloucodeforfun/p/17447452.html

相关文章

  • C++ 在 cout 中使用关系表达式
    用std::cout输出关系运算表达式时,关系表达式要加括号,否则编译会报错。例如:#include<iostream>intmain(intargc,char**argv){std::cout<<1<2<<std::endl;return0;}在linux中编译后报错内容如下:test.cpp:Infunction'intmain(int,char**)':te......
  • C++基础知识系列-4
    C++基础1C++的struct和class的区别区别1:默认继承的权限。不明确指定的情况下,来自class的继承按照private继承处理,来自struct继承按照public处理区别2:成员的默认访问权限。class成员默认是private权限,struct默认是public2C和C++区别struct上的区别:C中无Protection行为,不能定......
  • c++算法:二分
    算法中,有一种比线性查找算力费得更少的一种算法思想,叫“分治”,今天讲的是分治里的二分查找:借助(low+high)/2公式,找到搜索区域内的中间元素。图1中,搜索区域内中间元素的位置是 ⌊(1+10)/2⌋=5,因此中间元素是27,此元素显然不是要找的目标元素。然后就是缩小范围。 下面就是......
  • C++ 初始化赋值
    把值写在小括号中,等于号可以省略(C++标准)inta=(15);intb(20);把值写在花括号中,等于号也可以省略(C++11标准),统一初始化列表注意:在Linux平台下,编译需要加-std=c++11参数inta={15};inta{15};......
  • c++面试 笔试基础知识学习记录
    1.int(*p)[4]和int*p[4]int(*p)[4],p是一个指针变量,指向一个存放4个int变量的一维数组,p+1是向后移动数组长度个字节大小,也就是向后移动4个int字节的大小。*(*(p+1)+2)=*(p[1]+2)int*p[4],等价于int*(p[4]),[]优先级高于*所以p首先是一个数组。即定义了一个指针数组,p就......
  • C/C++杂记:NULL与0的区别、nullptr的来历
    某些时候,我们需要将指针赋值为空指针,以防止野指针。 有人喜欢使用NULL作为空指针常量使用,例如:int*p=NULL;。也有人直接使用0值作为空指针常量,例如:int*p=0;。 前者可能觉得:NULL作为空指针常量,名字很形象,可读性较强。后者可能觉得:NULL并不是C/C++语言的关键字,而是一......
  • C/C++杂记:深入虚表结构
    1.虚表与“虚函数表”在“C/C++杂记:虚函数的实现的基本原理”一文中曾提到“虚函数表”的概念,只是为了便于理解,事实是:虚函数表并不真的独立存在,它只是虚表(virtualtable)中的一部分内容。例:从图中可已看出,虚表除了包含虚函数指针,还包含其它一些信息(如:RTTI信息、偏移值等)。顺便......
  • 多线程或监听器@Autowired注入null空指针
    //问题:在多线程中使用@Autowired注入IUserService时,userService使用时为null,获取不到bean//原因:newthread不在spring容器中,也就无法获得spring中的bean对象;@AutowiredprivateIUserServiceuserService;//解决:手动获取bean对象privateIUserServiceuserService=AppCo......
  • 关于C++字符串的一些函数
    其实印象里,c的char用法反倒比c++的string深一点,可能是因为我对string的运用太少了吧。 提到C++的string,就得先提一下首先提一下C的char类型,毕竟C++是根据C延展过来的,继承了C的特性,而且C本身是没有string这个东西的。 char是什么?一个关键字,用于声明一个变量是字符类型。好吧,......
  • C++ 运算符
     运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。ht......