1030

今天学了指针举了两个例子,最先讲了一级指针*p
后面讲二级指针 **p
举了两个例子

int a=100,*p=&a,**pa=*p;
*p=1000;
**pa=1;
printf("%d",a);
getchar();

输出结果为1;
因为二级指针比一级指针高级;
举例钥匙,a中的东西如果说需要钥匙打开,就是*p有a的钥匙,而**p有*p的钥匙从而进入a中改变a中的值;
另外:指针是有自己单独的空间的;
他们的类型会随着不同类型的变量的改变而改变;
但是他们的空间始终是4个字节;
保存着他所指的地址,就像是存放钥匙的地方;
p 星号和变量组成 是取值 本身的地址就是p的地址
指针作为函数参数

指针作为函数参数
void f(int *num1,int *num2)
{
    *num1 = *num1 ^ *num2;
    *num2 = *num1 ^ *num2;
    *num1 = *num1 ^ *num2;
}

void  main()
{
    int a = 100, b = 200;
    f(&a, &b);
    printf("a = %d  b = %d", a,b);
    getchar();
}

指针的格式int *num1=&a, num2=&b;
在指针后面跟的一定是地址

/*
    二级指针
*/

int main()
{
    int a = 100, b = 200, c = 300,
        *p1 = NULL, *p2 = NULL, **p3 = NULL;
    p1 = &a;
    p2 = &b;
    p3 = &p1;
    *p1 = 111;
    p2 = &c;
    **p3 = *p2;
    p3 = &p2;
    *p2 = 222;
    p2 = p1;
    **p3 = 333;
    printf("\na = %d  b = %d c = %d", a, b, c);
    printf("\n*p1 = %d  *p2 = %d **p3 = %d", *p1, *p2, **p3);
    getchar();
}

指针:(point)
定义的格式 类型说明符 *变量名;
指针本身是一个变量,我们叫指针变量 p
指针变量的值一定是另一个变量的地址,当我们将某一个变量的地址,作为值赋给指针变量时,
我们就说该指针指向该变量,如
int a = 100;
int *p = &a;
那么此时我们说指针变量p指向整形变量a;

指针的类型:
指针的类型值指的是它所指向的变量的类型.

指针的作用:
可以访问操作内存;

指针定义以后必须初始化,赋值为NULL;

在C语言中,使用指针时,必须确保指针指向的是一块确定的内存区域,
确定理解地址确定,内存区域大小确定.
int a = 100,*p = &a;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值