指针
1、指针的概述
指针是什么?
指针是一个地址 是一个常量
int 整型 int a a是变量
指针用来做什么?
方便使用数组或者字符串 像汇编语言一样处理内存地址
2、指针变量
什么是指针变量?
是一个可以存储地址的一个“容器”
经常会吧指针变量 读作指针 后面吧地址当做“指针” 吧存储地址的变量叫做“指针变量”
3、指针赋值
类型说明符 * 变量名=地址值;
int a=89;
int *p=&a; 定义了一个int* 类型的变量p (类型跟*是一对好基友)
之后给这个变量赋值a的地址 &取地址符号
1 1 #include<stdio.h> 2 2 int main() 3 3 { 4 4 //int a = 520; 5 5 //int *p = &a; 6 6 //printf("p=%d\n",p); 7 7 //printf("a的地址=%d\n",&a); 8 8 9 9 //int a = 520; 1010 //int *p = &a;//第一种:在定义指针变量的时候初始化 初始化 1111 //int *pp; 1212 //pp = &a;//第二种:把一个变量的地址值赋给相同类型的指针变量 赋值 1313 ////类似于 1414 //int c; 1515 //c = 5; 1616 //int *ppp = pp;//把一个指针变量赋值给另一个相同数据的指针变量 1717 //printf("ppp=%d\n",ppp); 1818 //printf("pp=%d\n", pp); 1919 //printf("pp=%d\n", &a); 2020 2121 //int a = 5; 2222 //char xiaoming = 'A'; 2323 //int *PangQi = &a; 2424 //PangQi = (int*)&xiaoming;//指针赋值只能是类型相同的 如果必须要赋值类型不一样的地址 那么就要类型强转 2525 //printf("%d\n",*PangQi); 2626 2727 //int a = 4407873;//int是4字节 32位 2828 //char *p = (char *)&a;//char是1字节 8位 2929 //printf("%s\n",p);//输出ABC 3030 ////ABCD 0100 0100 0100 0011 0100 0010 0100 0001 3131 3232 //解引用 c语言里面 有两个有关指针的运算符 * & 3333 /* 3434 & 取地址符号 int a; &a 得到a的地址 3535 * 指针运算符 或者是 指向运算符 间接运算符 3636 “*”的作用是引用指针指向的变量值,引用其实就是引用该变量的地址 3737 “解” 就是把该地址对应的东西解出来 3838 */ 3939 int xiaoming = 10000; 4040 int *pangqi = &xiaoming; 4141 *pangqi = 10000-8880; 4242 printf("%d\n",*pangqi); 4343 4444 4545 4646 getchar(); 4747 return 0; 4848 }






2018-07-24 16:32:13