C语言入门基础教程10初识指针.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言入门基础教程10初识指针

C语言/C++学习联盟一、函数的实际运行原理函数在接受参数的时候,会重新开辟内存来进行计算。二、指针最牛逼:汇编语言:都是直接操作地址去访问内存单元里面等内容。C语言作为高级语言:提供通过地言:都是址去访问内存单元的内容。1、什么叫做地址?地址就是内存中对每一个字节的编号。通常一个数据的地址指的是存放这个数据的地址段的首地址。注意:1、一个程序在运行是会自动为变量开辟新的内存,地址会变。2、在同一次运行过程中变量的地址是不会变的。3、数据段,一个程序是在一个数据段中进行的。&(取地址运算符):单目运算符,返回一个变量的地址*(指针运算符):单目运算符,返回的是一个地址里面的变量的数据。&和*具有相同的优先级,自右向左结合。什么是指针?指针就是地址,地址就是指针。3、什么是指针变量?存放地址的变量。指针变量的声明:数据类型 *变量名; int *p;指针变量的赋值:在声明指针的时候赋值:int *p=&a;先声明,再赋值。 Int *p; p=&a;不允许把一个数赋值给指针变量:int *p; p=50000;(错误的)指针变量的引用:*变量名;Int *p; p=&a; *p=a;#include<stdio.h>int main(){int a, b;int *p;//声明一个指针变量a = 20;b = 25;p = &a;//把变量啊的地址赋予p 10000printf("变量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);return 0;}#include<stdio.h>int main(){int a, b;int temp;a = 6;b = 3;temp = a;a = b;b = temp;printf("a=%d\nb=%d\n", a, b);}#include<stdio.h>void Swap(int a1, int b1);int main(){int a, b;a = 6;b = 3;Swap(a, b);printf("a=%d\nb=%d\n", a, b);}void Swap(inta1, intb1){int temp;temp = a1;a1 = b1;b1 = temp;}#include<stdio.h>void Swap(int *pa1, int pb1);int main(){int a, b;int *pa,*pb;a = 6;b = 3;pa = &a;pb = &b;Swap(pa, pb);printf("a=%d\nb=%d\n", a, b);}void Swap(int *pa1, int *pb1){int temp;temp = *pa1; // *pa1 = *pb1;*pb1 = temp;}// x=x+y y=x-y#include<stdio.h>void Calc(int *pa1, int*pb1);int main(){int a = 6,b = 3;int *pa = &a, *pb = &b;Calc(pa,pb);printf("a=%d\nb=%d\n", a, b);}void Calc(int *pa1, int*pb1){int temp;temp = *pa1;*pa1 = *pa1 + *pb1;*pb1 = temp - *pb1;}最后一个:int a float b double c 运算加减乘除 a+b c+c a-b b*c a/b指针变量的运算:指针变量只可以做加减,不能做乘除,可以做关系运算加减法时,以指针指向的变量存储字节为单位。Int a int *p; p=&a;2000 p+1=2004 4Short p+1 2002 2Char p+1 2001 1Pa pb pc -----> a*pa --->a *pb 的值实际上就是a的值 *pb也会变化。

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档