1. 程式人生 > >聊聊指標常量和常量指標

聊聊指標常量和常量指標

一句話總結:看const修飾誰,修飾的物件不能變;指標常量必須初始化。

*p2被const修飾,不能通過p2改變p2指向的物件,通俗就是不能改變*p2;但是p2是可以改變的,程式中p2由指向i變成指向j,j可以改變。
p3被const修飾,p3不能被賦值,通俗講他只能指向i,不能指向其他物件;但*p3可以改變。指向物件生來確定,必須初始化才行。

#include <iostream>
using namespace std;
int main(int argc, char const *argv[])
{
	int i = 10;
	int j = 10;
	const int *p1;
	int const *p2 = &i;
	p2 = &j;
	int * const p4;
	int * const p3 = &i;
	*p3 = 20;
	cout << i << endl; //結果是20
	j = 90;
	cout << *p2 <<endl; //結果是90
	//*p2 = 20; //error
	//p3 = &j;	//error
	//int const *p4; //error 

	return 0;
}


相關推薦

聊聊指標常量常量指標

一句話總結:看const修飾誰,修飾的物件不能變;指標常量必須初始化。 *p2被const修飾,不能通過p2改變p2指向的物件,通俗就是不能改變*p2;但是p2是可以改變的,程式中p2由指向i變成指

指標常量常量指標的區別

(1)指標常量:顧名思義它就是一個常量,但是是指標修飾的。 格式: int * const p //指標常量 例: int a,b; int * const p=&a //指標常量 //那麼分為一下兩種操作 *p= 9; //操作成功 p=&b;   

常量指標指標常量常量指標常量

常量指標和指標常量和常量指標常量 常量指標:指向常量的指標。 示例一: int n = 10; const int *p = &n; 此時不能通過指標修改資料物件的值,但可以改變指標的指向。比如此時指標p不能改變n的值,但是可以指向另一個變數,把上面的程式碼做修

C/C++ 指標常量常量指標

1、指標常量 指標常量的本質是一個常量,並且使用指標來修飾它,那麼說明這個常量的值應該是一個指標。 **英文名:**pointer const 定義格式 型別 * const p; 2、常量指標 常量指標本質是指標,常量修飾它,表示這個指標乃是一

關於指標常量常量指標的理解

*(指標) const(常量) 誰在前面就先讀誰, 在前面的不允許改變 example: int * const p1; 指標常量 並且p1不能改變                 int const * p2; 常量指標 *p2不能改變 該寫法就是就是錯誤的 因為p1

指標函式函式指標指標常量常量指標

1 指標函式 指標函式是指帶指標的函式,本質上是一個函式。函式的返回型別是某一型別的指標。 定義格式: 型別識別符號 *函式名(引數表) 例如:int *Fun(x,y); 2 函式指標 函式指標是指向函式的指標變數,本質上是一個指標變數。 定義格式:型別識

指標常量常量指標(指向常量指標

        很多與檔案操作相關的函式其引數型別都是const char*(指向常量的指標)型別,下面就簡單介紹一下常量指標(指向常量的指標)(const char*)與指標常量(char *const)這兩種型別的區別。         1. const char*  

程式語言的底層描述(2)——棧指標esp指標ebp

程式語言的底層描述(2)——棧指標esp和幀指標ebp 2014年10月11日 17:43:57 coreyspomu 閱讀數:3062更多 個人分類: 資訊標識和處理 本節我們重點討論棧指標esp和幀指標ebp,圍繞這兩個重要的暫存器,推匯出函式棧幀結構。

go語言學習--指標陣列陣列指標

陣列指標(也稱行指標)定義 int (*p)[n];()優先順序高,首先說明p是一個指標,指向一個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p+1時,p要跨過n個整型資料的長度。 如要將二維陣列賦給一指標,應這樣賦值:int a[3][4];int (*p)[4]; //

18. C語言 -- 指標陣列陣列指標

本部落格主要內容為 “小甲魚” 視訊課程《帶你學C帶你飛》【第一季】 學習筆記,文章的主題內容均來自該課程,在這裡僅作學習交流。在文章中可能出現一些錯誤或者不準確的地方,如發現請積極指出,十分感謝。 也歡迎大家一起討論交流,如果你覺得這篇文章對你有所幫助,記得評論、點贊哦 ~(。

c語言的指標陣列陣列指標函式指標

#include <stdio.h> #include <stdlib.h> int func(int x){ return x; } int* func2(int x){ int *p=&x; return

對c語言中指標陣列陣列指標的認識

1.陣列:一批具有同名的同屬性的資料就組成了一個數組。(“[ ]”也是陣列型別的一部分)     由此可知:(1)陣列是一組有序資料的集合;(2)陣列中的每一個元素都屬於同一個資料型別。  定義一維陣列的一般形式:型別符  陣列名【常量表達式】(陣列也

淺析指標陣列陣列指標

/************************************************************************/ /* 淺析指標陣列和陣列指標 指標陣列:array of pointers 陣列指標:a pointer to an array 舉例說明

C語言陣列篇(二)指標陣列陣列指標

陣列指標 和 指標陣列           這兩個名詞可以說是經常搞混了         陣列指標--> 陣列的

C++小知識——指標函式函式指標指標陣列陣列指標示例

一、指標函式和函式指標 1.1 指標函式 指標函式,其實就是返回值為指標的函式 例如: long *func(int) 它是一個名為func,返回值為long *,引數為int的指標函式 1.2 函式指標 就像陣列名是指向陣列第一個元素的常指標一樣,函式

C語言學習筆記:指標函式函式指標的淺析

#include "stdio.h" #include "stdlib.h" #include <string.h> /*--------------指標函式---------------*/  int *f(int a,int b ){        int

go 方法接受者 是指標型別指標型別的 區別

go 方法接受者 是指標型別和非指標型別的 區別 非指標型別 package main import "fmt" // 定義介面 type Car interface { GetName() string Run() } // 定義結構體 type Tesla struct {

Linux核心 指標函式函式指標

       首先,要區分函式指標和指標函式。函式指標和指標函式從語文的角度看,應該算是一個偏正短語,函式指標說明是一個指標,而指標函式說明是一個函式;其是什麼樣的指標、什麼樣的函式,我們先暫且不論。明確函式指標是指標,指標函式是函式,這才是最重要的。下面在來看這是一個什

C語言中的指標陣列陣列指標

可以將 *string看成陣列 a[] 下的a,即指標是指向陣列的首地址的; 指標陣列是陣列元素為指標的陣列(例如 int *p[3],定義了p[0],p[1],p[2]三個指標),其本質為陣列。 指

sp wp-Android中定義了兩種智慧指標指標sp指標wp

中定義了兩種智慧指標型別,一種是強指標sp(strong pointer),另外一種是弱指標(weak pointer)。其實稱之為強引用和弱引用更合適一些。強指標與一般意義的智慧指標概念相同,通過引用計數來記錄有多少使用者在使用一個物件,如果所有使用者都放棄了對該物件的