美文网首页
C语言中指针的基本用法分析

C语言中指针的基本用法分析

作者: qwer2626 | 来源:发表于2020-07-07 15:22 被阅读0次

1、指针指向变量:

  下面有这样一个代码块:

  int main()

  {int a=10;int b=15;test(a,b);printf("a=%d,b=%d\n",a,b);}

  void test(int x,int y)

  {int tmp;tmp=x;x=y;y=tmp;}

  最后输出的结果还是a=10,b=15。因为在函数调用时,实参和形参之间只是值传递。但我们使用指针结果就不一样了,如:

  int main()

  {int a=10;int b=15;test(&a,&b);printf("a=%d,b=%d\n",a,b);return  0;}

  void test(int * x,int *y)

  {int tmp;tmp=*x;*x=*y;*y=tmp;}

  输出结果a=15,b=10。变量a和b的值发生了交换。这是因为我们利用指针访问变量的存储单元,间接修改变量的值。

  2、指针指向数组:

  定义一个数组并初始化,int array[5]={2,5,12,7,8},定义一个指针变量并把数组的地址赋给它,int  *p=array,注意数组名就是数组的地址,而且数组的地址就是首元素的地址。因此我们的指针变量就指向了数组的首元素,*p=2。如果把(p+1),那么指针变量就指向了数组的下一个元素5,因此我们可以利用指针来遍历数组的各个元素:

  int main()

  {int array[5]={2,5,12,7,8};int *p =array;for(int  i=0;i<5;i++){printf("array[%d]=%d\n",i,*(p+i));}return 0;}

  3、指针指向字符串:

  我们都知道用数组存储字符串,如char name[20]="jack",上面已经简单讲述了指针指向数组,所以我们可以这样做,char  *name="jack",指针变量指向字符串的首个字符并可以依次访问字符串的各个字符。

  4,指针指向函数:

  我们需要知道怎样表示一个指针指向函数,说白了就是语法要正确,下面我也取一个代码块来说明一下:

  int sum(int x,int y)

  {return x+y;}

  int main()

  {int a=5;int b=6;int (*p)(int,int);p=sum;int result=(*p)(a,b);printf("The  result is %d\n",result);return 0;}

  不难发现上面代码块里语句(*p)(a,b)可以用p(a,b)来代替,因为p和sum就是一样的,只是用前者可能更容易理解一点。而我们要知道怎样定义一个指针指向函数,int  (*p)(int,int)这是固定写法,前面的int是指针将来指向的函数的返回值的类型,如果没有函数返回值,那就是void,后面括号里的两个int  当然就是指针将指向的函数的形参。指针指向函数用起来确实有点抽象,要想熟练运用的话就多去做一些这方面的练习吧!

  5,指针指向结构体:

  我们首先首先定义一个结构类型,

  struct student

  {

  char *name;

  int ages;

  };

  再根据类型定义结构体变量 struct student stu={"Rose",15};定义一个指针指向结构体类型,struct student  *p;把结构体变量stu的地址赋给指针变量p,p=&stu;我们可以有3种方式来访问结构体中的属性ages:

  stu.ages=15;(*p).ages=15;p->ages=15;不过第三种方式在C语言中只能用来指向结构体。

相关c语言-指针学习资料

指针

http://www.makeru.com.cn/live/1392_238.html?s=156461 

指针换装你还认识吗

http://www.makeru.com.cn/live/5413_2043.html?s=156461 

相关文章

  • 02-C语言的指针

    02-C语言的指针 目标 C语言指针释义 指针用法 指针与数组 指针与函数的参数 二级指针 函数指针 指针在C中很...

  • 2-Linux C语言指针与内存-学习笔记

    Linux C语言指针与内存 前面我们对于: c语言的基本用法 makeFile文件的使用 main函数的详解 标...

  • 《C和指针》——C语言补漏(基本用法篇)

    title: "《C和指针》——C语言补漏(基本用法篇)"date: 2014-05-14 19:06:57cat...

  • C语言中指针的基本用法分析

    1、指针指向变量: 下面有这样一个代码块: intmain() {inta=10;intb=15;test(a,b...

  • C语言基础及指针②之指针内存分析

    续接上篇 C语言基础及指针① 在上一篇中 , 我们了解了C语言的基本语法 , 以及简单指针 , 也知道 , 指针是...

  • 带小白学C语言指针

    C语言里指针才是C语言的开始和指针;C语言里基本所有东西都是由指针演变而成; 指针是指向地址的变量,类型就是指针...

  • C语言- 指针用法

    如何表示地址? 地址是整数,是否可以用int?理论上可以,但是为了强调它是个内存地址,提出一些新的类型: 上面的指...

  • go语言指针类型的使用

    go语言的指针类型 简单地说go语言的指针类型和C/C++的指针类型用法是一样的,除了出去安全性的考虑,go语言增...

  • C语言基础及指针③函数与二级指针

    接续上篇 C语言基础及指针②之指针内存分析 在上一篇中 , 我们分析了指针在内存中是怎样存储的 , 以及它是怎样操...

  • iOS中const的简单介绍

    简单用法 基本数据类型 const 在基本数据类型中的用法 指针类型 指针 的简单用法 const 与 指针 的结...

网友评论

      本文标题:C语言中指针的基本用法分析

      本文链接:https://www.haomeiwen.com/subject/kgwaqktx.html