C++指针学习

原创 2015年07月10日 08:46:49

指针的声明有两种风格

int*  x,y;//  这里要尽量写成int* x; int* y; 起强调作用

int  *x,y;//声明了一个指针和一个int变量

指针是有类型限值的

不能用int型指针去接收double型指针变量


Void指针

void 指针可以指向任意类型的地址

void 指针的操作很受限值(指针比较,给函数传递参数,复制给void类型的指针),不能用此类型的指针去操作对象。

不能用 *p ,不能用p++(,因为不知道存储类型,也就不知道++对应的步长是多少)


关于指针作为形参的问题


#include <STRING.H>
#include <STDIO.H>

void reset(int *p)
{
	*p=0;
	p=0;
}
int main()
{
	int ival(1024);
	printf("%d\r\n",ival);
	int *x=&ival;
	int *p=&ival;
	
	printf("%d\r\n",*p);
	reset(p);

	printf("%d\r\n",*p);
	printf("%d\r\n",*x);
	return 0;
}

两点新需要注意

1.指向的地址内存放的值发生了变化

2.指向的地址没有发生变化。(以前没有关注过这一条)


版权声明:本文为博主原创文章,未经博主允许不得转载。

深度长文教你彻底掌握C++/C指针

一.基础C++或者C里面最容易让人糊涂应该是指针了,不管是初学者甚至是有经验的童鞋有时候在用指针的时候也会出现一些很隐蔽的错误. 指针本身就是一个很绕的概念,而指针又能够和很多的结构比如数组(二维数...
  • xierhacker
  • xierhacker
  • 2016年09月13日 19:49
  • 8491

C++指针学习心得(一)

最近换了新工作,从PHP转C++,毕业两年都没碰过C++了,现在突击复习,从《C++ Primer中文第四版》开始。     第一遍看完,对指针的认识是“存放的是对象的地址,通过解引用*来获取值”。...
  • nirvana_newbie
  • nirvana_newbie
  • 2013年04月18日 11:07
  • 422

指针学习心得与理解

在C语言的学习过程中,指针是相当重要的一部分,学好指针对C的学习有很重要的意义。指针和内存如果说内存相当于街道,那么地址就相当于位于街道中房子的房号。一个字节(8bit)包含一个地址。内存中每一个位置...
  • qq_29695087
  • qq_29695087
  • 2016年05月31日 09:07
  • 687

C++学习 - 虚表,虚函数,虚函数表指针学习笔记

虚函数虚函数就是用virtual来修饰的函数。虚函数是实现C++多态的基础。虚表每个类都会为自己类的虚函数创建一个表,来存放类内部的虚函数成员。虚函数表指针每个类在构造函数里面进行虚表和虚表指针的初始...
  • chenfs1992
  • chenfs1992
  • 2015年04月15日 01:49
  • 5260

c++中指针问题一个很好的例子

偶尔在问题区看到这个问题,感觉有助于对指针问题理解,所以记录一下,希望给看到的你一些帮助。...
  • guwuchangtian
  • guwuchangtian
  • 2017年06月03日 11:52
  • 679

c++的三种指针

1.指向常量的指针 指针所指的对象是常量,指针本身是常量。#include using namespace std; void main() { int stop; cons...
  • snicolashe
  • snicolashe
  • 2015年06月28日 10:24
  • 1291

c/c++中指针的理解(初学者)

关于指针,大家肯定不陌生,一些初学者,想必会出现思绪混乱的情况,现在我就来帮大家缕一缕吧。(第一次写微博 有点小紧张) 大家应该了解一些计算机对内存的管理方式吧。操作系统会将内存单元进行编号,这些...
  • Allen_ww
  • Allen_ww
  • 2016年01月11日 19:41
  • 9612

C++指针的理解

我们知道,在计算机内存中可以通过变量名称作为标识符访问变量。这种方法,程序不需要关心数据在内存的物理地址;无论何时涉及变量时,它简单地使用标示符。 对于C++程序,计算机的内存就像一系列内存单元的组...
  • shenwanjiang111
  • shenwanjiang111
  • 2016年11月12日 18:41
  • 562

c++ 指针赋值

一、一级指针 char *a="a";char *b="b"; a=b;//这个是b把存的内容b给a,此时a的内容是b,所以指针与指针赋值实际也是传值,和普通变量一样。若a的内容变为c,则b的内容还是...
  • jackmacro
  • jackmacro
  • 2011年01月14日 10:11
  • 2767

C/C++ 使用delete删除指针需小心 “野指针”

本文转载自: 众所周知,最开始我们用new来创建一个指针,那么等我们用完它之后,一定要用delete将该指针删掉。但是,值得注意的是,难道就仅仅是删除这个指针这么简单的么?下面,我们用一个程序来说明...
  • m0_37901643
  • m0_37901643
  • 2017年06月06日 14:38
  • 1113
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++指针学习
举报原因:
原因补充:

(最多只允许输入30个字)