C++学习(十八)(C语言部分)之 指针2

Wesley13
• 阅读 672

指针
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 }

C++学习(十八)(C语言部分)之 指针2

C++学习(十八)(C语言部分)之 指针2

C++学习(十八)(C语言部分)之 指针2

 C++学习(十八)(C语言部分)之 指针2

C++学习(十八)(C语言部分)之 指针2

C++学习(十八)(C语言部分)之 指针2

2018-07-24  16:32:13

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
CuterCorley CuterCorley
3年前
C语言入门系列之8.指针的概念与应用
一、指针引入指针是C语言中的一个重要的概念,也是C语言的一个重要特色。正确而灵活地运用它,可以有效地表示复杂的数据结构;能动态分配内存;能方便地使用字符串;有效而方便地使用数组等。掌握指针的应用,可以使程序简洁、紧凑、高效。可以说,不掌握指针就是没有掌握C的精华。1.地址的概念数据在内存中的存储和读取如下:内存区的每一个字节有一个编号,称为地址
桃浪十七丶 桃浪十七丶
3年前
C语言中指针及其应用基础篇(指针变量,指针和数组)
一、指针变量1.1代码分析先把代码贴上来进行分析。笔者在写代码时候会加上头文件stdlib和代码system("pause");这是为了防止闪屏,在学校时候老师有教过其他写法,但是还是觉得笔者这样写比较容易记得住。cinclude<stdio.hinclude<stdlib.hintmain()intvar20;intp;//定义指针变
Kevin501 Kevin501
3年前
Go语言中new()和make()的区别
1.Go语言中的值类型和引用类型值类型:int,float,bool,string,struct和数组(数组要特别注意,别搞混了)变量直接存储值,分配栈区的内存空间,这些变量所占据的空间在函数被调用完后会自动释放。引用类型:slice,map,chan和值类型对应的指针变量存储的是一个地址(或者理解为指针),指针指向内存中真
Wesley13 Wesley13
3年前
C89和C99标准比较
1、增加restrict指针C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量。restrict数据类型不改变程序的语义。如果某个函数定义了两个restrict指针变
Stella981 Stella981
3年前
Golang教程:指针
什么是指针指针是存储一个变量的内存地址的变量。  !(https://oscimg.oschina.net/oscnet/70c3337580dba5f227a4b71b2f73d6ba527.png)在上图中,变量 b 的值是 156,存储在地址为 0x1040a124 的内存中。变量 a 存储了变量 b 的
Wesley13 Wesley13
3年前
C语言之指针
  学过编程语言的童鞋们都知道指针是C语言的精髓,学好了指针就等于学好了C语言,它能够直接对物理地址进行访问,具有双重功能,是嵌入式设计中必不可少的一门语言。C语言功能强大的主要原因就是具有指针结构。指针是一种特殊的数据类型,直接指向目标的存储地址,实现直接访问对象存储空间功能。指针到底是什么    计算机的内存被划分为多个存储单
小万哥 小万哥
11个月前
C 语言指针完全指南:创建、解除引用、指针与数组关系解析
C语言中的指针创建指针我们可以使用引用运算符&获取变量的内存地址:cintmyAge43;//一个int变量printf("%d",myAge);//输出myAge的值(43)printf("%p",&myAge);//输出myAge的内存地址(0x7ff
小万哥 小万哥
8个月前
C++ 解引用与函数基础:内存地址、调用方法及声明
C解引用获取内存地址和值在上一页的示例中,我们使用了指针变量来获取变量的内存地址(与引用运算符&一起使用)。但是,你也可以使用指针来获取变量的值,这可以通过使用运算符(解引用运算符)来实现:cstringfood"Pizza";//变量声明stri