指针练习

指针的练习

地址:物理空间(内存条)的连续编址

1、指针:就是地址
2、指针变量:专门用于存储地址的
	类型* 变量名;
   注:每一个指针变量都分配4Byte

注:地址就是物理空间的一个编号,指针是某类型空间的地址
3、空指针:NULL  (void*)0

*4、指针的运算: +  -
	point+n		n整型数字    
   注:point+n*sizeof(point类型)

运算符:
 1、求变量空间的地址:  &
 2、取地址内容运算符:  *point

 
*数组:是一块连续且同类型的存储空间
	类型 score[长度];
  数组名就是首地址
  引用数组元素:下标法(score[0]) 指针法()
 指针数组:多个指针变量空间
	类型*  变量名[长度];
   初始化
	类型*  变量名[长度]={value1,...};
   引用数组元素:引用数组元素的内容(下标法,指针法)

#include<iostream>
#include<stdio.h>
using namespace std;



int main()
{	
	//定义一个整型变量 : 类型  变量名
	short num = 100;			//分配两个字节
	cout<<"sizeof(num) "<<sizeof(num)<<endl<<"num="<<num<<endl;
	
	//指针
	cout<<"&num="<<&num<<endl;

	//引用空间的内容: 变量名
	cout<<"num="<<num<<endl;
	cout<<"*(short*)0x0019FF3C "<<*(short*)0x0019FF3C<<endl;

	//存储地址的空间
	//定义指针变量:		(每个指针变量为4byte  32位bit)
	short* pa=&num;
	cout<<"sizeof(pa)="<<sizeof(pa)<<endl;	
	//引用指针变量:
	cout<<"pa= "<<pa<<"  pa="<<*pa<<endl;
	return 0;

}

打印如下:


#include<iostream>
#include<stdio.h>
using namespace std;

int main()
	{
	
		//定义整型变量: short int long 分配空间
		short a=100;		//并初始化
		int b = 16909060;		//并初始化
		cout<<"sizeof(a)="<<sizeof(a)<<" &a="<<&a<<endl;
		//引用变量: 名字  地址
		cout<<"a="<<a<<" *(&a)="<<*(&a)<<endl;

		//储存地址的空间
		//定义指针变量:
		short* pa=&a;
		//引用指针变量:
		cout<<"sizeof(pa)="<<sizeof(pa)<<" &pa="<<&pa<<endl;
		cout<<"pa="<<pa<<" *pa="<<*(pa)<<endl;
		
		//难点:
		//short* pb=(short*)&b;
		//cout<<"pb="<<pb<<" *pb="<<*pb<<endl;
	
		char* pc = (char*)&b;
		printf("pc=%x *pc=%d\n",pc,*(pc));
		return 0;
}

打印如下:

此处的pb是int型元素的地址   pb+1  加的是一个int型的(四个字节) 故0+4=4.

此处的pd是short元素的地址   pd+1   加的是一个short型的(两个字节)故0+2=2.

此处的pc是char元素的地址   pd+1   加的是一个char型的(一个字节)故0+2=2.

#include<iostream>
#include<stdio.h>
using namespace std;

int main()
	{
	//定义一个整型指针变量
		int c = 1554;

		int* pb=NULL;
		printf("pb=%x  pb+1=%x\n",pb,pb+1);
		short* pd=NULL;
		printf("pd=%x  pd+1=%x\n",pd,pd+1);
		char* pc=NULL;
		printf("pc=%x  pc+1=%x\n",pc,pc+1);
		short* fp = (short*)&c;
		printf("fp=%d\n",*fp);

		return 0;
	}

打印如下:


猜你喜欢

转载自blog.csdn.net/superman___007/article/details/80637432
今日推荐