c语言 循环外赋值指针,C语言基础——指针

指针

什么是指针 作用

int test(int a,int salaray){

a + 1;

s + 1;

raturn a + 1;

}

int main{

int money = 10;

int salaray

money = test(money);

}

什么是指针

指针是一个变量

1.这个变量只能存地址

2.任何指针变量占据的内存空间都是八个字节

int a = 10; 普通变量

int *pa ;

函数指针

int (*test)(int a);9

1.* 在定义的时候表示一个指针变量

2.在表示的时候表示一个具体的值

3.指针变量赋值的时候只能赋地址

int temp = 10;

int *p;

*p = 20;

dfbd63e12b2e

%8)4)OZ0JQ}L98KMS)3GW53.png

二级指针

int **p = &p

指针的类型

1.普通指针

int*p char *p int (*func)(int)

2.常量指针

int a = 20;

int b = 30;

int const*pa = &a;

*pa = 50

运行错误

不能改变指针指向变量的值

pa = &b;

可以运行 可以改变指针的指向

3.指针常量

int *const pb = &a;

*pb = 50;

可以运行 可以改变指针指向的变量的值

pb = &b;

不能运行 不能改变指针的指向 数组就是一个指针常量 不能对数组名进行运算

4.指向常量的常量指针

int const*const pc = &a;

什么都不能改变

不能改变指针的指向

不能改变指针指向变量的值

指针变量只能存数组

指针变量只能指向同种数据类型的地址

指针的值

就是指向的内存空间的首地址

指针和数组

1.数组是一片连续的内存空间

2.指针只是一个变量 只能存地址

3.数组也可以用指针的方式访问

数组的第一种访问方式

num【0】 = 20 num【1】 = 30

第二种访问方式

*num = 20 *num + 1 = 30

指针里面不确定尽量加括弧 用来分清符号的结合方式

指针和函数

作用

通过指针间接访问某个地址

定义一个函数 什么情况下参数是一个指针

1.这个函数会不会改变传递过来的数据本身

2.需要改变外部的值 就将这个变量定义为指针变量

3.数组名没有分配内存空间 指针变量具有内存空间

4.数组是一片连续的内存空间 可以存多个值

5.指针只能存一个值 只能是地址

6.函数接收数组时必须知道数组元素的个数

7.函数里面是通过指针变量来接收数组的地址

8.指针变量无法确定指向内容的大小

访问数组有两种方式

1.数组名num【3】

2.\*(num+3)

注:声明变量 没有分配内存空间

定义变量 立刻分配内存空间 并且赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值