数组名是首元素地址,除了sizeof(数组名)和&数组名之外、指针、避免出现野指针的做法、二级指针、指针数组

学习目标:


学习内容:

遗忘内容
数组名表示的是数组首元素地址
但是有两个例外:
1)sizeof(数组名),数组名表示整个数组,计算的是整个数组的大小
2)&数组名,数组名表示整个数组,取出的是整个数组的地址


指针类型决定了指针被解引用时访问的权限。
例如整形指针(int*)解引用4个字节;字符指针(char*)解引用1个字节…
在这里插入图片描述
指针类型决定了指针向前或者向后走一步,能走多大距离(字节)。
int* +1 --> +1sizeof(int)==+4
char
+1 --> +1sizeof(char)==+1
int
+n --> +nsizeof(int)==+n4
char* +n --> +nsizeof(char)==+n1
在这里插入图片描述
指针的注意事项(避免写出野指针)
1)指针不能像变量一样定义后不给赋值,如果没有值可赋,就赋值NULL

int* pa=NULL;

2)在函数中不能返回指针,因为函数中使用的指针仅限于函数体内,出了函数后那个指针生命周期就结束了。

int* test()
{
   
int a =10;
printf("%d\n",a);
return 0;
}
int main ()
{
   
int *p = test();
*p = 100;
return 0;
}

3)不要把指针指到定义的范围外在这里插入图片描述
指针±整数:跳字节(根据指针类型的不同跳的字节也

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值