當前位置:
首頁 > 知識 > 指針是什麼?用實例和圖解帶你了解

指針是什麼?用實例和圖解帶你了解

一、函數的實際運行原理

函數在接受參數的時候,會重新開闢內存來進行計算。

想要一起學習C++的可以加裙四五三二四三二八零,裙內有各種資料滿足大家,歡迎加裙

二、指針

最牛逼:彙編語言:都是直接操作地址去訪問內存單元裡面等內容。

C語言作為高級語言:提供通過地言:都是址去訪問內存單元的內容。

1、什麼叫做地址?

想要一起學習C++的可以加裙四五三二四三二八零,裙內有各種資料滿足大家,歡迎加裙

地址就是內存中對每一個位元組的編號。

通常一個數據的地址指的是存放這個數據的地址段的首地址。

注意:1、一個程序在運行是會自動為變數開闢新的內存,地址會變。

2、在同一次運行過程中變數的地址是不會變的。

3、數據段,一個程序是在一個數據段中進行的。

&(取地址運算符):單目運算符,返回一個變數的地址

*(指針運算符):單目運算符,返回的是一個地址裡面的變數的數據。

&和*具有相同的優先順序,自右向左結合。

2、什麼是指針?

指針就是地址,地址就是指針。

3、什麼是指針變數?

存放地址的變數。

1、指針變數的聲明:數據類型 *變數名; int *p;

2、指針變數的賦值:

A、在聲明指針的時候賦值:int *p=&a;

B、先聲明,再賦值。 Int *p; p=&a;

C、不允許把一個數賦值給指針變數:int *p; p=50000;(錯誤的)

3、指針變數的引用:

*變數名;Int*p; p=&a; *p=a;

#include

int main()

{

int a, b;

int *p; //聲明一個指針變數

a = 20;

b = 25;

p = &a; //把變數啊的地址賦予p 10000

printf("變數a的值為:%d ", a);

printf("變數b的值為:%d ", b);

printf("變數a的地址為:%d ", &a);

printf("變數b的地址為:%d ", &b);

printf("指針變數p的值為:%d ", p);

printf("指針變數p指向的變數的值為:%d ", *p);

return 0;

}

#include

int main()

{

int a, b;

int temp;

a = 6;

b = 3;

temp = a;

a = b;

b = temp;

printf("a=%d b=%d ", a, b);

}

想要一起學習C++的可以加裙四五三二四三二八零,裙內有各種資料滿足大家,歡迎加裙

#include

void Swap(int a1, int b1);

int main()

{

int a, b;

a = 6;

b = 3;

Swap(a, b);

printf("a=%d b=%d ", a, b);

}

void Swap(inta1, intb1)

{

int temp;

temp = a1;

a1 = b1;

b1 = temp;

}

#include

void Swap(int *pa1, int pb1);

int main()

{

int a, b;

int *pa,*pb;

a = 6;

b = 3;

pa = &a;

pb = &b;

Swap(pa, pb);

printf("a=%d b=%d ", a, b);

}

void Swap(int *pa1, int *pb1)

{

int temp;

temp = *pa1; //

*pa1 = *pb1;

*pb1 = temp;

}

// x=x+y y=x-y

#include

void Calc(int *pa1, int*pb1);

int main()

{

int a = 6,b =3;

int *pa =&a, *pb = &b;

Calc(pa,pb);

printf("a=%d b=%d ", a, b);

}

void Calc(int *pa1, int*pb1)

{

int temp;

temp = *pa1;

*pa1 = *pa1 + *pb1;

*pb1 = temp - *pb1;

}

最後一個:int a float b double c 運算 加減乘除 a+b c+c a-b b*c a/b

指針變數的運算:

(1)指針變數只可以做加減,不能做乘除,可以做關係運算

(2)加減法時,以指針指向的變數存儲位元組為單位。

Int a int *p; p=&a;2000 p+1=2004 4

Short p+1 2002 2

Char p+1 2001 1

Pa pb pc -----> a

*pb 的值實際上就是a的值 *pb也會變化。

想要一起學習C++的可以加裙四五三二四三二八零,裙內有各種資料滿足大家,歡迎加裙


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 C加加 的精彩文章:

每天學點C語言-如何使用scanf讀取任何輸入
C語言鏈表的來源分析
C語言 圖形界面——實現貪吃蛇遊戲

TAG:C加加 |

您可能感興趣

實例解析人像構圖 如何讓構圖更穩定耐看
實例講解如何看懂電工圖紙,非常通俗了!
都說做人不能太囂張,看看這些真實例子你就知道為什麼了!
胃癌的常見癥狀有哪些?請看實例說話
開啟高管模式也是一種不錯的選擇,你說呢?紫微斗數實例解讀
實例講解:為什麼中式傢具極有利於身體健康?
實例分析——她是什麼原因
用實例告訴你莆田所說的真標是什麼意思
房子裝修,燈應該怎麼選?實例講解8種燈光搭配,好看又實用!
為什麼腫瘤患者都吃靈芝孢子粉?有實例,功效不是說說而已!
你明明長得好看,卻為什麼要穿得這麼土?(實例)
這樣的餵奶方式是大錯特錯的,我用實例來告訴你
標準鏡頭這麼用才是正確的,3個實例告訴你別再用錯了!
如何確定自己的八字用神(實例詳解)
論拍照背景的重要性!實例圖解!
實例解讀:MySQL並行複製如何解決特定的主從問題?
八字取象斷吉凶實例解說
她只能作一名記者嗎?紫微斗數實例解讀
日本人實例解說:我們不擅長的那些發音
血糖突然不聽話,或許原因就是它——胃輕癱實例解讀