设为首页 加入收藏

TOP

飞控入门之C语言指针回顾
2019-09-01 23:08:25 】 浏览:20
Tags:入门 语言 指针 回顾

指针

何为指针?来个官方定义:指针是一个值为内存地址的变量(或数据对象)。

一、指针的声明

 

//示例
int *pi;    //pi是指向int类型变量的指针
char *pc;   // pi是指向char类型变量的指针
float *pf;    // pi是指向float类型变量的指针

 

 

 

注意,指针的值虽然是地址,指针本身也是有自己的地址和大小的。在计算机中,指针的大小为8字节,在stm32中,为4字节。

二、指针的赋值与解引用

int num=2;
int *p;
p=#
printf("%d",*p);//结果输出为2

赋值要符合指针的定义,要向指针赋一个地址

三、指针的操作

int arr[5]={1,2,3,4,5};//数组名本身为一个指针

取址操作: &arr
自加自减,与整数相加减: arr++;  arr--;  arr+=2;  

            在本例中,指针与整数相加减时,它所指向的地址增加或减少整数个int的大小,如arr+=2储存ar[2]的地址

指针求差:相同类型指针之间可以相减,差值为整数个指针类型大小

四、指针与const

使用const可以保护数组的数据不被修改,相比于#define,const的用法更加灵活

const int days[3]={20,13,5};

此后数组的元素不能被修改,否则会报错

使用const的指针不能用于改变值

double rates[5]={20.3,465.2,23.9,45.6,28.6};
const double *pd=rates;

之后便不能通过指针pd改变数组元素的值,但因为数组没有用const定义,所以可以用rates改变元素。

void show_arr (const double *p,int n);

如果函数这样定义,那这个函数将不能改变要传入的数组

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【mpu6050】学习笔记——基础知识.. 下一篇linux-2.6内核驱动学习——jz2440..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目