C語言-指針

 

指針是C語言中的變量數組

-由於是變量,因此用於保存具體值ide

-特殊之處,指針保存的值是內存中的地址函數

-內存地址是什麼?指針

內存是計算機中的存儲部件,每一個存儲單元有固定惟一的編號blog

內存中存儲單元的編號即內存地址內存

 

程序中的一切元素都存在於內存中,所以,可經過內存地址訪問程序元素。it

 

 

獲取地址io

-C語言中經過&操做符獲取程序元素的地址class

-&可獲取變量,數組,函數的起始地址容器

-內存地址的本質是一個無符號整數(4字節或8字節) 32位與64位

#include <stdio.h>

int main()
{
    int var = 0;

    printf("var = %d\n", var);
    printf("&var = %p\n", &var);//取變量的地址

    return 0;
}

打印了4個字節

 

指針定義語法:type *pointer

-type - 數據類型,決定訪問內存時的長度範圍

-* -標誌,意味着定義一個指針變量

-pointer -變量名,遵循C語言命名規則

#include <stdio.h>

int main()
{
    char *pChar;     1字節
    short *pShort;   2字節
    int *pInt;       4字節
    float *pFloat;   
    double *pDouble; 8字節

    return 0;
}

指針內存訪問:*pointer  訪問操做符,訪問內存中的數據

-指針訪問操做符(*)做用於指針變量便可訪問內存數據

-指針的類型決定經過地址訪問內存時的長度範圍

-指針的類型統一佔用4字節或8字節

即:sizeof(type*)==4 或 sizeof(type*)==8

 

指針程序示例

#include <stdio.h>

int main()
{
    int var = 0;
    int *pVar = NULL;

    printf("1. var = %d\n", var);
    printf("1. pVar = %p\n", pVar);

    pVar = &var;

    *pVar = 100;

    printf("2. var = %d\n", var);
    printf("2. pVar = %p\n", pVar);

    return 0;
}

 

 

 

 

指針是C語言中的變量(本質爲容器)

指針專用於保存程序元素的內存地址

可以使用*操做符經過指針訪問程序元素自己

指針也有類型,指針類型由數據類型+ * 構成

相關文章
相關標籤/搜索