C语言基础————指针的详解!会上树的程序猿?2017-02-0713:51指针汇编语言:都是直接操作地址去访问内存单元里面等内容。C语言 作为高级语言:提供通过地言:都是地址访问内存单元的内容。喜欢的话关注收藏评论转发一波比心么么哒!加入我们C语言C++学习交流5 60655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。1、什么叫做地址?地址就是内存中对每一个字节的编号。通常一 个数据的地址指的是存放这个数据的地址段的首地址。注意:1、一个程序在运行是会自动为变量开辟新的内存,地址会变。2、在同一次运行过程 中变量的地址是不会变的。3、数据段,一个程序是在一个数据段中进行的。&(取地址运算符):单目运算符,返回一个变量的地址(指针运算 符):单目运算符,返回的是一个地址里面的变量的数据。&和具有相同的优先级,自右向左结合。什么是指针?指针就是地址,地址就是指针。 什么是指针变量?存放地址的变量。1、指针变量的声明:数据类型变量名;intp;2、指针变量的赋值:A、在声明指针的时候 赋值:intp=&a;B、先声明,再赋值。Intp;p=&a;C、不允许把一个数赋值给指针变量:intp;p=5 0000;(错误的)3、指针变量的引用:变量名;Intp;p=&a;p=a;#includeint main(){inta,b;intp;//声明一个指针变量a=20;b=25;p=&a;//把变量啊的地址 赋予p10000printf("变量a的值为:%d\n",a);printf("变量b的值为:%d\n",b);printf ("变量a的地址为:%d\n",&a);printf("变量b的地址为:%d\n",&b);printf("指针变量p的值为: %d\n",p);printf("指针变量p指向的变量的值为:%d\n",p);return0;}#includeio.h>intmain(){inta,b;inttemp;a=6;b=3;temp=a;a=b;b= temp;printf("a=%d\nb=%d\n",a,b);}#includevoidSwap(int a1,intb1);intmain(){inta,b;a=6;b=3;Swap(a,b);printf("a =%d\nb=%d\n",a,b);}voidSwap(inta1,intb1){inttemp;temp=a1;a 1=b1;b1=temp;}#includevoidSwap(intpa1,intpb1);i ntmain(){inta,b;intpa,pb;a=6;b=3;pa=&a;pb=&b;Swap(p a,pb);printf("a=%d\nb=%d\n",a,b);}voidSwap(intpa1,intpb1 ){inttemp;temp=pa1;//pa1=pb1;pb1=temp;}喜欢的话关注收藏评论转发一波 比心么么哒!加入我们C语言C++学习交流560655063群内有大量的项目开发和新手教学视频千人大群等着你来加入。//x=x +yy=x-y#includevoidCalc(intpa1,intpb1);intmain(){ inta=6,b=3;intpa=&a,pb=&b;Calc(pa,pb);printf("a=%d\n b=%d\n",a,b);}voidCalc(intpa1,intpb1){inttemp;temp=pa1 ;pa1=pa1+pb1;pb1=temp-pb1;}最后一个:intafloatbdouble c运算加减乘除a+bc+ca-bbca/b指针变量的运算:(1)指针变量只可以做加减,不能做乘除,可以做关系运算 (2)加减法时,以指针指向的变量存储字节为单位。Intaintp;p=&a;2000p+1=20044Shortp +120022Charp+120011Papbpc----->apa--->apb的值实际上就是a的值pb也会变化。 |
|