程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++指針筆記,指針筆記

C++指針筆記,指針筆記

編輯:C++入門知識

C++指針筆記,指針筆記


什麼是指針:

指針是一個特殊的變量,它裡面存儲的數值被解釋成為內存裡的一個地址。通過指針我們可以直接對內存進行操作。

什麼是地址:

比如你要給你朋友寄快遞,在寄東西的時候是不是要填寫地址,通過地址你的東西才能送到朋友手裡。同理,比如你定義一個變量為i。

而這個變量i是存在計算機內存中的,也就是i在這個內存中的編號,即地址。

舉例:

#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
	int a ;  //定義了一個整型變量 a
	int *p ; //定義了一個整型指針p, *代表變量P是一個指針
	p=&a;     //將變量a的地址取出 在賦給變量P 這樣P保存的內存地址就是a的地址  &符號是取地址符
	cout << "變量a地址:"<< &a  << endl;
	cout << "指針p地址:" << p << endl;
	cin.get();
	return 0;
}

圖解:

可以發現指向的地址是一樣的

 

 

空指針!:

指針是用來保存內存地址的變量,如果我們不初始化,該指針就是一個失控指針,它可以指向內存中的任何地址。所以記得要初始化。

一般定義的時候初始化都是為0。

int *p ;
p=0;  //為0

/*
下一句的寫法就是上一句合並的寫法  一般寫法上按照下一句寫法
*/


int *p=0;     //初始化為0

用指針來訪問存儲值: 

#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
	int love = 520;  //定義一個int類型變量love 初始化值為520
	int *gril = 0;   //定義一個int指針gril 初始化值為 0
	gril = &love;   //用指針變量gril來保存變量love的地址
	cout << "gril值:" << *gril << endl;    //輸出為520
     cin.get(); return 0; }

其中 cout << "gril值:" << *gril << endl;

這裡*gril因為保存的是love變量的地址,因此輸出520

 

容易錯誤的筆記:

對於指針,最容易混淆的概念是:指針內存地址和指針地址值!!!

搞的我腦殼有點暈了 筆記暫時做到這了。。。。。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved