C语言最难知识点——指针

一.指针变量
C语言的两种变量:普通变量存储内容值;指针变量存储地址值

  1. 定义的格式: 类型名 * 指针变量名;(变量名不包含*,星号只是一个标志)
    注:
    (1). 指针变量专门来存储地址,禁止将一个整型值直接赋值给一个指针变量
int a,b, *p;
a = 1000;
b = 2000;
p = 4000;  //错误
  1. 指针变量的引用
      (1) “&”取地址运算符,取出普通变量的地址。
      (2) “&”单目运算符,从右往左,后面只能接内容变量(变量)
      (3) “*”指针运算符,取出指针遍历所指向的普通变量的内容值
      (4) 指针变量需【定义】且【初始化】后再使用:
        int *p; 此时指针变量p虽然定义了,但是所指向的地址是随记的
        *p = 200; 危险! * p只有放在赋值号的左边是为 ,其它为
      (5) 所有的指针变量在内存中分配的字节数相同。sizeof()。都为 2
      (6) &与 * 互逆; * 与[ ]等价;&与[ ]互逆
      (7) 若数组作为形参,则将数组名做指针变量来处理,int fun(int *a) 等价于 int fun(int a[ ])
    二. 指向数组的指针变量
    1、指向数组元素的指针变量
    由于数组元素和普通元素一样,所以定义指向数组元素的指针变量与定义指向普通变量的指针变量完全一样。如:
int s[10], a, b;
int b[3][6];
int *p;
p = &a;
p = &s[2];
p= &b[2][4];   //p最后指向b[2][4]

2、指向一维数组的指针常量(列地址)
(1) 在C中规定:数组名代表数组的首地址,而且是一个地址常量。如:

int a[10]
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值