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

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

点赞
收藏

评论区

加载中...

相关推荐

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

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

C语言中指针及其应用基础篇(指针变量,指针和数组)

一、指针变量1.1代码分析先把代码贴上来进行分析。笔者在写代码时候会加上头文件stdlib和代码system("pause");这是为了防止闪屏,在学校时候老师有教过其他写法,但是还是觉得笔者这样写比较容易记得住。cinclude<stdio.hinclude<stdlib.hintmain()intvar20;intp;//定义指针变

Go语言中new()和make()的区别

1.Go语言中的值类型和引用类型值类型:int,float,bool,string,struct和数组(数组要特别注意,别搞混了)变量直接存储值,分配栈区的内存空间,这些变量所占据的空间在函数被调用完后会自动释放。引用类型:slice,map,chan和值类型对应的指针变量存储的是一个地址(或者理解为指针),指针指向内存中真

C89和C99标准比较

1、增加restrict指针C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象。restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量。restrict数据类型不改变程序的语义。如果某个函数定义了两个restrict指针变

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