IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 初出茅庐的小李第91篇博客之C语言指针 -> 正文阅读

[C++知识库]初出茅庐的小李第91篇博客之C语言指针

学如逆水行舟不仅则退

今天老板写了一篇文章让我帮忙校验一下,于是我就有了下面的代码标题的感悟

#include <stdio.h>
typedef unsigned char uchar;
int main(void) 
{
	int i, *ip = &i;
	printf("i的地址空间是:%p\n",ip);
	//uchar *niu;      //niu指向的地址空间存放的数据是uchar类型的数据 
	//uchar **sp;      sp是一个指针变量 uchar ** 是sp指针的类型  
    //	               uchar * 含义是指针指向的地址空间内所存储的类型是 uchr *这种类型  
    //					  显然uchar *这也是一个指针变量该变量指向的地址空间所存//储的类型是 uchar 类型 
	uchar a,b,c,d,e,f,g,h,x,y,z;
	uchar niu[12] = {3,1,7,5,9,19,8,2,5,6,6,8};
	uchar *sp;
	sp = niu;//数组名也是指针类型 也是一个地址
	a = *sp; //此时*含义代表取sp指针存放的地址空间的数据内容是多少
	printf("a = *sp 结果:a = %d\n",a) ;//a = *sp 结果:a = 3
	b = *sp + 1;
	printf("b = *sp + 1 结果:b = %d\n",b);//b = *sp + 1 结果:b = 4
	c = *sp++;
	printf("c = *sp++ 结果:c = %d\n",c) ;//c = *sp++ 结果:c = 3
	d = *sp;//指针经过上次就算偏移地址加1 指向3变成指向1 
	printf("d = *sp 结果是:d = %d\n",d);//d = *sp 结果是:d = 1
	e = *(sp+1);//指针指向再加1后指向内容是 7 取内容是7 
	printf("e = (*sp+1) 结果是:e = %d\n",e);//e = (*sp+1) 结果是:e = 7
	f = *sp;//指针不加1指向的内容就是1 
	printf("f = *sp 结果是:f = %d\n",f);//f = *sp 结果是:f = 1
	x = sizeof(niu) ;//数组niu所占的字节数目 
	printf("x = sizeof(niu) 结果是:x = %d\n",x);//x = sizeof(niu) 结果是:x = 12
	y = sizeof(sp);//指针变量所占用的内存空间   跟编译器有关 
	printf("y = sizeof(sp) 结果是:y = %d\n",y);//y = sizeof(sp) 结果是:y = 8
	z = sizeof(*sp);//*sp的数据类型指向是 uchar uchar所占的字节宽度
	printf("z = sizeof(*sp) 结果是:z = %d\n",z);//z = sizeof(*sp) 结果是:z = 1
	g = *(sp+sizeof(*sp)) ; //等价于*(sp+ 1)  指向数组元素 1 后面的元素  这里是元素 7 
	printf("g = *(sp+sizeof(*sp)) 结果是:g = %d\n",g);//g = *(sp+sizeof(*sp)) 结果是:g = 7
	h = *(sp+sizeof(sp)) ;
	printf("h = *(sp+sizeof(sp)) 结果是:h = %d\n",h);//h = *(sp+sizeof(sp)) 结果是:h = 6
	return 0; 
}

运行结果
在这里插入图片描述

#include <stdio.h>
typedef unsigned char uchar;
int main(void) 
{
	uchar a,b,c,d,x;      
	uchar niu[]="edu118";
	printf("niu的地址是:%p\n",niu);
	uchar nsd[6]="edu118";
	printf("nsd的地址是:%p\n",nsd);
	uchar *sp,*ss;
	sp=niu;
	printf("sp的地址是:  %p\n",sp);
	ss=nsd;
	printf("ss的地址是:  %p\n",ss);
	a = *sp;   //a被赋值为字符'e' 
	printf("a = *sp 的结果是:    %c\n",a);
	b = sp[0]; //b被赋值为字符'e' 
	printf("b = sp[0] 的结果是:  %c\n",b);
	c = sp[5]; //c被赋值为字符'8' 
	printf("c = sp[5] 的结果是:  %c\n",c);
	d = *(sp+6); //d被赋值为'\0' 
	printf("d = *(sp+6) 的结果是:十进制:%d 字符:%c\n",d,d);
	x = *(ss+7);  
	printf("x = *(ss+7) 的结果是:%d\n",x) ;
	return 0; 
}

在这里插入图片描述
知识还是要用起来,学习还要日积月累

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-15 18:05:37  更:2021-12-15 18:06:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:36:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码