C语言-指针和数组


指针和数组

指针提供一种用来使用地址的符号方法

数组的名称就是该数组首元素的地址

1
2
int arr[5];
arr = &arr[0]; //&:地址运算符

arr和&arr[0]都表示该数组的首元素内存地址

声明指针时前面必须写对象类型

1
2
3
int arr[5];
int*pti;
pti=arr;//数组地址赋给指针

对一个指针加1,是对该指针增加一个存储单元;对于数组来说是对应到下一个元素地址;所以声明指针时要指明类型

1
2
3
4
5
6
7
8
9
10
#include "stdio.h"
#include "conio.h"
main()
{
int nu[5] = {1,2,3,2,3};
int * pti;
pti = nu;
printf("%p\n", pti); //000000000062FE00
printf("%p", pti+1); //000000000062FE04
} //刚好一个int类型的数据是4个字节

对指针加1等价于对指针的值加上它指向的对象的字节大小

在指针前使用’星号‘可以得到它指向的值

1
2
int arr[3] = {1, 2, 3};
*(arr+2) = arr[2]; //这里的arr的地址就是指针

本文标题:C语言-指针和数组

文章作者:TTYONG

发布时间:2020年08月27日 - 11:08

最后更新:2020年08月28日 - 16:08

原始链接:http://tianyong.fun/C%E8%AF%AD%E8%A8%80-%E6%8C%87%E9%92%88%E5%92%8C%E6%95%B0%E7%BB%84.html

许可协议: 转载请保留原文链接及作者。

多少都是爱
0%