指针
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 ",p); 7 //printf("a的地址=%d ",&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 ",ppp); 18 //printf("pp=%d ", pp); 19 //printf("pp=%d ", &a); 20 21 //int a = 5; 22 //char xiaoming = 'A'; 23 //int *PangQi = &a; 24 //PangQi = (int*)&xiaoming;//指针赋值只能是类型相同的 如果必须要赋值类型不一样的地址 那么就要类型强转 25 //printf("%d ",*PangQi); 26 27 //int a = 4407873;//int是4字节 32位 28 //char *p = (char *)&a;//char是1字节 8位 29 //printf("%s ",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 ",*pangqi); 43 44 45 46 getchar(); 47 return 0; 48 }
2018-07-24 16:32:13