指针01

来源:互联网 发布:java pkcs8格式的私钥 编辑:程序博客网 时间:2024/05/17 02:59

指针内容很多,多打代码!
这里我会给大家推荐几本电子书:

file:///C:/Users/xiaoliang/AppData/Local/Temp/Wiz/e835218b-ff81-483b-90e0-7b8314898683_128_files/6492605.png 主要是:C语言指针精髓,指针编程之道,还有C语言指针详解这三本!

C语言中指针就两个个操作符:一个*,一个&!
1.内存和地址2.值和类型
3.指针变量的内容
4.间接访问操作符(解引用操作符)*
5.取地址操作符号&
6.未初始化和非法指针
7.null(0)指针
重点:指针就是地址!!
int *p       类型说明符 *变量名;
其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。 

定义了个指向整型类型的指针变量 p
*---->表示这是个指针变量
p----->表示指针变量就是个地址    与 int  a里的类似
*p---->表示地址所指向的变量,*-->表示间接访问(解引用操作符)

file:///C:/Users/xiaoliang/AppData/Local/Temp/Wiz/e835218b-ff81-483b-90e0-7b8314898683_128_files/6251693.png 

***************************************************************************************************************
代码1:
#include <stdio.h>
#include <stdlib.h>


int main(void)
{
        int a, b, c;//4个字节--》4个地址
        float d, e, f;//4个字节--》4个地址
        char  A, B, C;//一个字节--》一个地址


        a = 11;
        b = 12;
        c = 20;
        d = 10.5;
        e = 11.3;
        f = 33.3;


        A = 'A';
        B = 'B';
        C = 'C';


        printf("a的值:%d\n", a);
        printf("a的地址:%d\n", &a);  //4字节,1个字节8位,每个字节是一个地址 
        //8gb b字节,  g = 1024m=1024k=1024b   //0,1,2,3,4.......40亿


        printf("b的值:%d\n", b);
        printf("b的地址:%d\n", &b);


        printf("c的值:%d\n", c);
        printf("c的地址:%d\n", &c);


        printf("d的值:%f\n", d);
        printf("d的地址:%d\n", &d);


        printf("A的地址:%d\n", &A);
        printf("B的地址:%d\n", &B);
        printf("C的地址:%d\n", &C);


        system("pause");
        return 0;
}



http://www.bcwhy.com/thread-21598-1-1.html****************************************************************************************************
代码2:



#include <stdio.h>
#include <stdlib.h>


int main(void)
{
        int a, b;
        int *p, *q, *k;//p是个地址(指针变量)p指向数据类型为整型地址变量
        k = NULL;
        a = 11;
        p = &a;
        printf("a = %d\n", a);
        printf("a的地址 = %d\n", &a);
        printf("a的地址 = %d\n", p);


        b = 20;//对应一个地址
        q = &b;
        printf("b的数值:%d\n", *q);
        *q = 22 - 10;//12
        printf("*q = %d\n", *q);//12
        printf("b的数值:%d\n", b);//12


        //printf("%d\n", *k);


        system("pause");
        return 0;
}
end!
**********************************************************************************************************

视频讲的不太仔细,因为涉及内容很多,建议大家多看看书和百度下比较好,最后不要忘了敲代码!
视频地址http://www.bcwhy.com/thread-21598-1-1.html

0 0
原创粉丝点击