指针
1、指针的概述
指针是什么?
指针是一个地址 是一个常量
int 整型 int a a是变量
指针用来做什么?
方便使用数组或者字符串 像汇编语言一样处理内存地址
2、指针变量
什么是指针变量?
是一个可以存储地址的一个“容器”
经常会吧指针变量 读作指针 后面吧地址当做“指针” 吧存储地址的变量叫做“指针变量”
3、指针赋值
类型说明符 * 变量名=地址值;
int a=89;
int *p=&a; 定义了一个int* 类型的变量p (类型跟*是一对好基友)
之后给这个变量赋值a的地址 &取地址符号
1 #include<stdio.h>
2 int main()
3 {
4 //int a = 520;
5 //int *p = &a;
6 //printf("p=%d\n",p);
7 //printf("a的地址=%d\n",&a);
8
9 //int a = 520;
10 //int *p = &a;//第一种:在定义指针变量的时候初始化 初始化
11 //int *pp;
12 //pp = &a;//第二种:把一个变量的地址值赋给相同类型的指针变量 赋值
13 ////类似于
14 //int c;
15 //c = 5;
16 //int *ppp = pp;//把一个指针变量赋值给另一个相同数据的指针变量
17 //printf("ppp=%d\n",ppp);
18 //printf("pp=%d\n", pp);
19 //printf("pp=%d\n", &a);
20
21 //int a = 5;
22 //char xiaoming = 'A';
23 //int *PangQi = &a;
24 //PangQi = (int*)&xiaoming;//指针赋值只能是类型相同的 如果必须要赋值类型不一样的地址 那么就要类型强转
25 //printf("%d\n",*PangQi);
26
27 //int a = 4407873;//int是4字节 32位
28 //char *p = (char *)&a;//char是1字节 8位
29 //printf("%s\n",p);//输出ABC
30 ////ABCD 0100 0100 0100 0011 0100 0010 0100 0001
31
32 //解引用 c语言里面 有两个有关指针的运算符 * &
33 /*
34 & 取地址符号 int a; &a 得到a的地址
35 * 指针运算符 或者是 指向运算符 间接运算符
36 “*”的作用是引用指针指向的变量值,引用其实就是引用该变量的地址
37 “解” 就是把该地址对应的东西解出来
38 */
39 int xiaoming = 10000;
40 int *pangqi = &xiaoming;
41 *pangqi = 10000-8880;
42 printf("%d\n",*pangqi);
43
44
45
46 getchar();
47 return 0;
48 }
2018-07-24 16:32:13