c语言指针

作者: 吉凶以情迁 | 来源:发表于2018-10-04 14:41 被阅读2次

    学习c语言指针数遍,发现过了几天如初恋,于是决定写笔记记下来。

    &p 取地址
    int *p =10指向变量的指针变量 取值不需要记上*
    int *p=&c指向地址的指针变量 取值一般也需要记上

    *
    基本类型取地址需要加上&,非基本类型不需要,因为本身就是指针。

    举例1 基本类型 取地址

        int a = 10;
        printf("address %p \n",& a);//大写
        printf("address %#0x \n", &a);//小写
        //printf("address %s ", *a);//语法错误,因为
    a不是一个指针不能用*a解。
    
    //address 0113FDB0
    //address 0x113fdb0
    //0104776660x   value=10
    

    通过指针访问基本类型的值

        int a = 10;
        printf("address %p \n",& a);//大写
        printf("address %#0x \n", &a);//小写
        //printf("address %s ", *a);//语法错误,因为a不是一个指针
        
        int *b = &a;//把a变量的地址复制给b
        printf("%#ox   value=%d \n ",b,*b);
    //指针访问值必须加上 *    *左边有值代表定义指针,没有值代表取值。 这里的*b是取 a地址的值, 而 int *b =xx则是定义一个指针
    
    

    指向变量的指针

        int *c = 30;
        printf("c value= %d\n",c);
    

    取值如果加上*c则会报错。

    非基本类型取地址不需要输入*验证

    这里的演示本身就是地址

    char d[] = "abcdef";
    printf("d char address %p  first char  %c \n",d,*d);
    //加了*d就是取首个字符的内容了。
        system("pause");
    ///c value= 30
    //d char address 00EFF9F4  first char  a
    

    相关文章

      网友评论

        本文标题:c语言指针

        本文链接:https://www.haomeiwen.com/subject/edyxaftx.html