指针和指针变量

Posted evilanne

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针和指针变量相关的知识,希望对你有一定的参考价值。

指针就是地址

指针变量就是存放地址的变量

char *pa,说明地址pa存放的数据类型是char型的

int *pb,说明地址pb存放的数据类型是int型的

 

技术分享图片

技术分享图片

 

取值运算符和定义指针用的是同一个符号*,属于符号的重用

在不同地方有不同的用法,在定义的时候属于定义一个指针变量,其他地方属于取地址的值

a=3属于直接访问, *&b = 4,属于间接访问

技术分享图片

// ConsoleApplication4.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "windows.h"

int main()
{
	char a = ‘F‘;
	int b = 123;

	char *pa = &a;
	int *pb = &b;

	printf("%c
", *pa);
	printf("%d
", *pb);

	*pa = ‘C‘;
	*pb += 1;

	printf("now ,a = %c
", a);
	printf("now, b = %d
", b);

	system("pause");

	return 0;
}

  技术分享图片

尽管pa,pb作为指针变量指向的具体数据分别是char和int

但他们作为变量都是整型,即4个字节

技术分享图片

 

首先,你没有给指针变量a赋值

那么就是随机的,而你给它赋值,就会影响到系统的一些关系代码

但一般程序不给这么干

若分配的地址是合法的,就允许这么干。。但还是不好

所以一定要初始化

 技术分享图片

 

以上是关于指针和指针变量的主要内容,如果未能解决你的问题,请参考以下文章

片段中的 EditText 上的空指针异常 [重复]

空指针异常 - 片段活动

片段中的 Listview 适配器给出空指针异常

活动到片段通信:当我尝试从活动更新片段中的文本视图时,出现空指针异常

C++ - 指针和“智能指针”

rootView上的Android片段空指针异常[关闭]