C语言指针

前导程序

#include<stdio.h>

 

void change(int *);

int main()

{

int a=90;

change(&a);

printf("a=%d\n",a);

return 0;

}

 

void change(int *n)

{

*n=10;

}

 

一、基本知识点

Int a=10;

Int *p;//定义一个int类型的指针

P=&a;//指针变量p指向了变量a

*p=20;//使用指针不通过变量直接修改变量a的值为20

*p表示访问指针变量p指向的存储空间

指针一个作用:能够根据一个地址值,访问(取值 | 赋值)对应的存储空间

指针变量p前面的int,表示指针的类型

①. Int *p;

②. *p=10;

两个*的区别:前一个起标识作用,表明定义的p是一个指针,后者的*表示通过访问p指向的地址空间

 

二、指针使用注意

①. Int *p;

double d=10.0;

p=&d;//不建议此种做法

②. Int *p;

p=200;//指针变量只能存储地址

③. Int *p;

printf(“%d\n”,*p);//指针变量未经初始化,不要拿来间接访问其他的存储空间

④. Int *p=&a;但是不能写成 int *p;*p=&a;这种写法没有任何的意义,可以认为*是和类型符一起使用的。

⑤. *是指针运算符,访问指针指向的空间

 

三、指向指针的指针

Int a=10;

Int *p=&a;//指向int型的指针

Int **p1=&p;//指向指针的指针

Int ***p2=&p1;//三级指针

 iOS语言基础篇-C语言指针

*p2相当于访问p1;

**p2相当于访问p;

***p2相当于访问a;

*p1相当于访问p;

一颗星一条线。

 

四、指针练习

编写一个函数,计算a和b的和与差(一个函数返回两个值)

提示:指针的作用之一:实现让函数拥有多个返回值

 1 #include<stdio.h>
 2 
 3  
 4 
 5 int SumAndMinus(int n1,int n2,int *n3)
 6 
 7 {
 8 
 9    *n3=n1-n2;
10 
11    return n1+n2;
12 
13 }
14 
15  
16 
17 int main()
18 
19 {
20 
21    int a=10;
22 
23    int b=11;
24 
25    int sum;
26 
27    int minus;
28 
29    sum=SumAndMinus(a,b,&minus);
30 
31    printf("和=%d,差=%d\n",sum,minus);
32 
33 }

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-27
  • 2021-08-21
猜你喜欢
  • 2022-01-05
  • 2021-07-30
  • 2021-08-27
  • 2022-01-31
  • 2021-09-21
相关资源
相似解决方案