• C---指针


    C指针中的一些内容和例子

    首先要知道指针的概念,要弄清指针的四个要素

    1.指针的类型

    2.指针指向的类型

    3.指针所指向的地址

    4.指针本身所占用的内存

    另外要知道俩个指针运算符

    &:取地址运算符

    *:间接访问运算符即指针运算符

    一、指针变量

    /*1.指针变量*/
    #include <stdio.h>
    int main(void)
    {
        int i=1234; 
        int *p=&i;   //定义一个整形指针,指向变量i
        int x=*p;     //通过指针访问变量i的内容
        printf("p:%d
    ",p); //指针指向的内存地址
        printf("x:%d",x);   //等于*p指针占用的内存
        getchar();
    }
    /*输入俩个整数a和b,按照大小的先后顺序排序*/
    #include<stdio.h>
    
    int main(void)
    {
        int a,b,*pointer_1,*pointer_2,*temp;
        scanf("%d,%d",&a,&b);
        pointer_1=&a;   //指针指向变量
        pointer_2=&b;
        if(*pointer_1<*pointer_2) //根据指针占用内存大小比较,即变量值比较
        {
            temp=pointer_1;   //改变指针指向的内存地址 从而做到指针占用内存的改变
            pointer_1=pointer_2;
            pointer_2=temp;
        }
        printf("%d,%d
    ",a,b);
        printf("%d,%d",*pointer_1,*pointer_2);
        getchar();
        getchar();
    }

    二丶指针运算符: 

    指针运算符(*)和指针变量说明符(*)不是一回事,在指针变量说明中,*是类型说明符,表示其后的变量是指针类型,而表达式中出现的*则是一个运算符用以表示指针变量所致的变量。

    #include<stdio.h>
    int main(void)
    {
        int a=5,*p=&a; //指针变量P取得了整形变量a的地址,在这里是指针运算符
        printf("%d",*p); //表示输出变量a的值。在这里就是指针变量说明符
        getchar();
    }

    三丶赋值运算:
    1.初始化赋值:

    int *pointer=&a;

    2.把一个指针变量的值赋予指向相同类型的指针变量:

    int a=5,*pointer;
        pointer=&a;

    3.把一个指针变量的值赋予指向相同类型的另一个指针变量:

        int a=5,*pointer=&a,*pointerInt;
        pointerInt=pointer; //把a的值赋予指针变量pointerInt

    4.把数组的首地址赋予指向数组的指针变量:

    int a[5],*pointer;
        pointer=a; //数组名表示数组的首地址,故可赋予指向数组的指针变量
        or
        pointer=&a[0];//数组第一个元素的地址也是整个数组的首地址,也可赋予pointer

    5.把字符串的首地址赋予指向字符类型的指针变量:

    char *pc;
        pc="C language";
        printf("%c",&pc);
        getchar();
        //输出结果为D

    这里应说明的是,并不是把整个字符串的装入指针变量,二十把存放该字符串的字符数组的首地址装入指针变量。在后面还将详细介绍,
    6.把函数的入口地址赋予指向函数的指针变量:

    int main(void)
    {
        int (*pf)();//定义函数指针
        pf=f;
        
    }
    int f(void)  //函数f
    {
    
    }

    四丶加减算术运算

  • 相关阅读:
    SQL Server 2005技术内幕:查询、调整和优化2——Bookmark Lookup
    隐藏文字用图片代替方案
    检索get参素
    a:hover之后ie6要恢复原来的状态需要hover的时候改变a的状态
    暂记
    台式机搭建wifi热点
    多行文本垂直居中
    chrome上做web app开发 模拟不同的分辨率和设备
    工厂模式和构造函数
    字符串替换
  • 原文地址:https://www.cnblogs.com/tangt/p/3755214.html
Copyright © 2020-2023  润新知