久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

C語言指針引用數組案例講解

這篇文章主要介紹了C語言指針引用數組案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

前言:C語言中指針玩的是什么,是內存,要想學好指針的小伙伴們要先對數據在內存中是怎么玩的做一番了解~

      當在程序中定義一個變量時,系統會根據其數據類型為其開辟內存空間,例如Visual C++為整型變量分配四個字節的空間,為單精度浮點型變量分配四個字節,為字符型變量分配一個字節,內存中每個字節都有自己獨立且唯一的一個編號,這就是地址 ,如下圖,系統為變量i分配了2000~2004的存儲單元。

在這里插入圖片描述

_訪問變量的方式_有如下圖兩種:
第一種直接訪問方式,直接通過變量名訪問,變量名與地址有一一對應關系,因此按此地址直接對變量i的存儲單元進行訪問;
第二種間接訪問方式,先通過i_pointer找到i的地址的位置,再通過i的所存地址的位置找到i的地址2000,隨后對變量i進行存取操作。間接訪問的方式就要用到指針,所謂指針(2000)即為一個變量的地址,指針變量(i_pointer)是存儲這個地址的用來指向另一個對象的變量。

關鍵字 變量類型
int 整型變量
char 字符變量
類型名* 指針變量

它們之間的關系為:指針變量的值是指針,指針是變量i的地址,變量i存放所需要存放的存儲內容。
圖片的中*為取值運算符,*i_pointer表示對i_pointer中存放的地址進行取值,相當于 變量i。

在這里插入圖片描述

指針的定義:

基類型 *變量名
例:int *p
char *p
float p
注意 : 此時的
與上文中提到的取值運算符并不是一個概念,此時的
*意思是定義一個變量,這個變量是指針變量。

指針的引用:

對指針進行賦值:
以下面程序為例:

int *p;
int a = 3;
p = &a;
*p = 2;

p = &a(&為取地址符,意思是取變量a的地址賦給指針變量P)
*p = 2(p上文中已經提到是對指針變量P中存儲的地址進行取值p相當于變量a,對
*p進行賦值即相當于對變量a進行賦值)

指針變量做函數參數

以定義兩個變量a和b,使其值進行交換為例進行闡述


#include<stdio.h>

//值傳遞
void swap1(int x, int y) {
	int z;
	z = x;
	x = y;
	y = z;
}

//地址傳遞 
void swap2(int *p1, int *p2) {
	int t = *p1;
	*p1 = *p2;
	*p2 = t;
}

/*
錯誤,指針變量t所指向的內容不可預見,對*t賦值就是向一個未知存儲單元賦值 ,可能操縱到有用信息,
破壞系統的正常工作狀態 ,這種指針叫做**野指針**;

那么如何解決野指針危險性呢:
可以對該指針進行初始化,使其指向NULL,NULL為地址為0的內存地址,在大多數操作系統上,該內存為操作系統保留,
用戶不可操控  
*/ 
//void swap3(int *p1, int *p2) {
//	int *t;
//	*t = *p1;
//	p1 = *p2;	//報錯 
//	p2 = *t;
/
                
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

這篇文章主要介紹了C語言指針詳解及用法示例,介紹了其相關概念,然后分享了幾種用法,具有一定參考價值。需要的朋友可以了解下
主站蜘蛛池模板: 色资源在线 | 国产亚洲一区二区精品 | 亚洲天堂中文字幕 | 精品国产99 | 亚洲免费视频网址 | 亚州精品天堂中文字幕 | 亚洲久久一区 | 91麻豆精品国产91久久久久久 | 亚洲精品日韩精品 | 欧美日韩亚洲在线 | 午夜视频网站 | 久久噜噜噜精品国产亚洲综合 | 国产在线永久免费 | 不卡视频一区二区三区 | 天天干天天干 | 午夜精品久久久 | 日本不卡免费新一二三区 | 亚洲一区二区在线播放 | 色一情一乱一伦一区二区三区 | 欧美日韩中文字幕在线 | 伊人激情综合网 | 在线国产一区 | 久久精品屋| 黄色小视频大全 | 日本超碰| 成人午夜视频在线观看 | 中文字幕亚洲无线 | 国产一区2区 | 精品一区视频 | 不卡一区二区三区四区 | 欧美成人精品在线观看 | 亚洲欧美日韩精品久久亚洲区 | 国产日韩精品久久 | 一区二区日韩 | 精品在线播放 | 99精品国产一区二区三区 | 精品国产乱码久久久久久老虎 | av片在线免费看 | 国产精品一区2区 | jlzzjlzz欧美大全 | 亚洲一区二区三区四区五区午夜 |