標籤:clu 沒有 out 詳解 9.png c/c++ width 分享 .com
1.定義
2.應用其實寫完了上一篇部落格指標作為函數的參數就體會到了 & 和 *的不同,但是上一篇並不是主角,現在主要總結下。1)一個錯誤的說明
int val = 6; int **pval2; /// **三醒指標: 指標 pval2 的類型是 int ** ,指向的類型 int * 只是聲明指標並未賦值 pval2 = &val; /// **報錯原因——類型不同: 指標 &val2 的類型是 int * ,指向的類型 int 指標指向的值是val
記得以前敲代碼總是報這種錯誤,但是又不懂,現在終於解決了。2)一個例子驗證
#include<bits/stdc++.h>using namespace std;int main(){ cout<<"------------------- val 是變數時 :----------------------"<<endl<<endl; int val = 6; cout<<"&val -> "<<&val<<" val -> "<<val<<endl<<endl<<endl; //cout<<"*val -> "<<*val<<endl; 非法訪問 *val 沒有告訴指向 cout<<"------------------- pval 是一級指標時 :----------------------"<<endl<<endl; int *pval = &val; /// **三醒指標: 指標 pval 的類型是 int * ,指向的類型 int 指向的值為&val cout<<"&pval -> "<<&pval<<" pval -> "<<pval<<" *pval -> "<<*pval<<endl<<endl<<endl; cout<<"------------------- pval2 是二級指標時 :----------------------"<<endl<<endl; int **pval2 = &pval; /// **三醒指標: 指標 pval2 的類型是 int ** ,指向的類型 int * 指向的值為&pval cout<<"&pval2 -> "<<&pval2<<" pval2 -> "<<pval2<<" *pval2 -> "<<*pval2<<" **pval2 -> "<<**pval2<<endl<<endl<<endl;}
C/C++語言指標用法詳解 (五) 運算子 & 和 *