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\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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值