c-day11-指针

运算符sizeof :可以给出某个类型或者变量在内存中所占据的字节数。

sizeof(a)
sizeof(double)

运算符&:获取变量的地址

int i;printf("%p",&i);

**指针 *p ** :保存地址的变量

int i=6int *p=&i;//把i的地址传递给指针变量p
*p=10;//访问i的地址p,对i直接进行读写操作

函数参数表中的数组是指针
下面两种方式等价:

void min_max(int a[], int length)      //起泡法排序;
void min_max(int *a, int length)      //起泡法排序;

数组变量本身是特殊的指针

  • 数组变量本身表达地址,取值时无需&
  • 数组单元表达变量,取值需要&
  • []运算符也可以对指针做
  • *运算符也可以对数组做
  • 数组变量是const的指针,不能被赋值
#include<stdio.h>

int main() {
    int a[3]={0,1,2};//int a[]相当于int *const a
    int *p=a;     //数组变量本身表达地址,取值时无需&
    int *pi=&a[1];//数组单元表达变量,取值需要&
    a[0]=10;
    a[1]=20;
    
    printf("p[0]%d\npi[0]%d\n",p[0],pi[0]);//[]运算符可以对指针做,
                         //p[0]表示该地址的四个字节,指针p相当于数组p[1]。
    printf("%d",*a);//*运算符也可以对数组做;a表示数组的首地址;*a表示变量a[0];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值