最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言之初識指針

 更新時間:2021年12月15日 08:52:58   作者:靜有引力  
在C語言中,指針是一種保存變量地址的變量。這篇文章介紹了初識C語言指針,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

指針是什么?

那到底什么是指針呢,其實指針和之前學習的變量基本相似,不過變量里面放的是一些值,而指針里面放的是它所指的地方的地址。在聲明一個變量是,計算機就會為該變量預留一個位置,而指針所指?的就是那個位置。

舉個例子:

int a = 10;//設置一個變量a的值為10

int *p = &a;//p這個指針里面就放的是a的地址

而&這個符號,就是取地址符,就像我們在使用scanf函數(shù)時? scanf("%d",&a); 這個a前面的&是一個意思,就是獲取到某個變量的地址。

而當你創(chuàng)建了一個指針是,你就要給他賦地址,否則的話它就會像那種鼠標一樣在硬盤上亂找,就會隨機找個地址,所以我們在創(chuàng)建了指針時,就一定要給他去給他賦一個位置。

指針的基礎:

如何創(chuàng)建一個指針函數(shù)呢?

int p; 這是我們之前就知道的,創(chuàng)建一個整形變量p,而int *p;?就是設置一個指針p;關鍵就是在于中間的 *。所以我們在創(chuàng)建指針變量時,一定不要忘記 *;

指針的賦值:

可以在創(chuàng)建指針的時候就賦值像這樣:int *p = &a;? 也可以在創(chuàng)建了之后單獨賦值像這樣: int *p;? ?p = &a;? ?兩種方法都一樣,沒有太大的區(qū)別,只不過一個一行代碼,一個兩行代碼,如果我們之前已經(jīng)創(chuàng)建了變量,那我們還是在創(chuàng)建指針的時候就直接給他賦值,以免后面忘了,對自己后續(xù)的程序發(fā)生影響。

那指針到底能干什么呢?

#include <stdio.h>
 
int main()
{
    int a = 10;
    int *p = &a;
    printf("a的地址為%p",&a);//這是直接輸出a的地址
    printf("a的地址為%p",p);//只是輸出p的指針所指的地址
    printf("a的值為%d",*p);//輸出p的指針所指的地址中變量的值
 
    return 0;
}

通過這3個輸出函數(shù)我們可以知道,前兩個輸出的都是a的地址,而第三個輸出的則是a變量里的值。

所以我們可以理解為 *p 就是 a 這個變量的值,這就是最通俗易懂的理解了。

并且在輸出 p 時也就是輸出 a 的地址時,也是有不同的輸出方式的,最基礎的就是

  • %lu 是十進制的方式輸出;
  • %p是以十六進制的方式輸出;

之前說到 *p 可以看作是它所指的 a 變量的值,所以它也是可以再重新被賦值的,當然它的賦值不是給指針函數(shù)賦值,看似是在給指針賦值,其實改變的還是它所指的函數(shù)的值;

像這樣

int a,*p;
a = 10;
p = &a;
*p = 20;
printf("a = %d",*p);

這個函數(shù)所輸出的值就會為 20 ;因為指針是之間在你的地址上給你改變,所以說指針的改變相比較之前的函數(shù)就會方便很多,比如我們在學習函數(shù)的時候,會將值從主函數(shù)傳到其他的函數(shù)中去做計算,但是傳回來時就很麻煩,因為它一次只能傳回來一個值,但是指針就不一樣了,它不需要將值傳回來,直接時實時將它所指的值進行改變;

像接下來這個例子,我們之前也都用函數(shù)的方式寫過;

#include <stdio.h>
 
void swap(int* p, int* q)
{
	int temp;
	temp = *p;
	*p = *q;
	*q = temp;
 
}
int main()
{
	int a = 10, b = 20;
	swap(&a, &b);
	printf("a=%d  b=%d",a,b);
 
	return 0;
}

這個函數(shù)最后輸出的值為

可以看到,輸出的值已經(jīng)發(fā)生了交換,這就是指針的強大之處吧;

可以更簡單的來解決我們之前遇到的問題,所以說,學好指針是學好c語言的基礎!

到此這篇關于C語言之初識指針的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C語言中結(jié)構(gòu)體struct編寫的一些要點解析

    C語言中結(jié)構(gòu)體struct編寫的一些要點解析

    這篇文章主要介紹了C語言中結(jié)構(gòu)體struct編寫的一些要點解析,談到了結(jié)構(gòu)體的聲明和指針指向等重要知識點,需要的朋友可以參考下
    2016-04-04
  • 自己實現(xiàn)strcpy函數(shù)的實現(xiàn)方法

    自己實現(xiàn)strcpy函數(shù)的實現(xiàn)方法

    本篇文章介紹了,自己實現(xiàn)strcpy函數(shù)的實現(xiàn)方法。需要的朋友參考下
    2013-05-05
  • C++中什么是虛函數(shù)

    C++中什么是虛函數(shù)

    虛函數(shù)是C++中的一種機制,允許在基類中聲明一個函數(shù),并在派生類中對其進行重新定義,從而實現(xiàn)多態(tài)性,虛函數(shù)通過基類指針或引用調(diào)用派生類的函數(shù),實現(xiàn)運行時綁定,虛函數(shù)的關鍵是使用`virtual`關鍵字修飾函數(shù)聲明,并且虛函數(shù)可以有默認實現(xiàn),也可以是純虛函數(shù)
    2025-01-01
  • OpenCV Matlab生成視頻倒放功能

    OpenCV Matlab生成視頻倒放功能

    這篇文章主要介紹了OpenCV Matlab生成視頻倒放功能,大家都知道不少帶聲音視頻的后綴名往往都是.mp4,那么如何獲取里面的音頻呢?本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2022-01-01
  • C++ LeetCode1945題解字符串轉(zhuǎn)化后的各位數(shù)字之和

    C++ LeetCode1945題解字符串轉(zhuǎn)化后的各位數(shù)字之和

    這篇文章主要為大家介紹了C++ LeetCode1945題解字符串轉(zhuǎn)化后的各位數(shù)字之和示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • C語言實現(xiàn)按行讀寫文件

    C語言實現(xiàn)按行讀寫文件

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)按行讀寫文件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++ std::function的用法詳解

    C++ std::function的用法詳解

    這篇文章主要介紹了C++ std::function使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-10-10
  • C++ cin輸入的多種方法詳解

    C++ cin輸入的多種方法詳解

    cin是C++編程語言中的標準輸入流對象,即stream類的對象。cin主要用于從標準輸入讀取數(shù)據(jù),這里的標準輸入,指的是終端的鍵盤。接下來通過本文給大家分享C++ cin輸入的幾種方式,一起看看吧
    2021-09-09
  • opencv實現(xiàn)圖像傾斜校正

    opencv實現(xiàn)圖像傾斜校正

    這篇文章主要為大家詳細介紹了opencv實現(xiàn)圖像傾斜校正,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • C語言實現(xiàn)括號配對的方法示例

    C語言實現(xiàn)括號配對的方法示例

    本文主要介紹了C語言實現(xiàn)括號配對的方法示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09

最新評論

陈巴尔虎旗| 日照市| 高陵县| 平乐县| 宣恩县| 永兴县| 民勤县| 东乡县| 吉安县| 上林县| 平度市| 嵊泗县| 唐山市| 长乐市| 东丰县| 大名县| 吴桥县| 韩城市| 宁陵县| 闵行区| 新源县| 辽宁省| 凤冈县| 高陵县| 安达市| 仁怀市| 长治县| 雷山县| 翁牛特旗| 广灵县| 泌阳县| 江口县| 海兴县| 将乐县| 工布江达县| 淮滨县| 宁强县| 出国| 盘锦市| 宁化县| 荆州市|