C---指针

来源:互联网 发布:177pic info新域名 编辑:程序博客网 时间:2024/06/17 01:49

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\n",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\n",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{}

四丶加减算术运算

 

0 0
原创粉丝点击