c语言指针
指针简介
指针就是一个储存变量地址的变量比如:
int dd =56;
int *p = ⅆ
p是这个字符串第一个字母的储存地址,p*是p这个地址中储存的值(数据)
声明指针必须指定指针所指向的变量的数据类型
地址运算符:&
&就是返回变量的储存地址:
int pooh =332
addtess=&pooh
printf("%d,%p"pooh,addtess);
addtess就是pooh变量值储存的地址
%p为输出地址的转化申明
不同单片机,表示单片机的方式可能不同,一般为16进制,每个16进制对应4个地址
间接运算符: *
ptr=&bah;
val = *ptr;
*ptr就是找到ptr指向的值,找到ptr指向的地址到\0中的值
相当于bah=val;
使用指针在函数之间通信
指针函数
本质是一个函数,不过返回值是一个指针
函数指针
本质是一个指针,指向一个函数的入口地址
通过指针把x和y值互换
#include <stdio.h>
void interchange(int * u,int * v);
int main(){
int x=5,y = 4;
printf("Originally x=%d and y = %d\n",x,y);
interchange(&x,&y);
printf("Now x = %d y=%d \n",x,y);
return 0;
}
void interchange(int *u,int *v){
int temp;
temp=*u;
*u = *v;
*v = temp;
}