《C和指针》笔记6
admin
2024-04-03 23:21:23
0

本章将学习C 中最重要的内容–指针。

内存与地址
字符:每存储一个字符所需要的位数,即一个字节byte。通常来说,每个字节包含八个位数,可以存储256个量,表示范围由有无符号决定。每个字节通过地址来标识。
:将多个字符进行组合,用以表示更大的内存单位,位数通常为32位,可表示较多的整数,但仍只有一个地址。至于该字的地址是最左端字节位置还是最右端字节位置,由各机器决定。
边界对齐:一项硬件事项。在要求硬件对齐的机器上,整型值存储的起始位置只可以是某些特定的字节,通常是2或4的倍数。


需要明确两点:
1.内存中的每个位置由一个独一无二的地址标识;
2.内存中的每一个位置都包含一个值。
如果需要存储一个值,只需要记住它的存储地址,对于C编译器来说,使用名字而不是地址来访问内存的位置。而对于硬件来说,仍然使用地址来访问内存位置。


值与类型
不能简单地通过检查一个值的位数来判断它的类型,若使用整数算术指令,则该数会被解释为整数;反之,使用浮点型指令,则会被解释为浮点数。


指针
指针的初始化是用&操作符完成的,用于产生操作数的内存地址。

int  a =112,b =-1;
float  c =3.14;
int *d =&a;
float  *e = &c;

其中,d和e的内容是地址而不是整型或者浮点数数值。
区分变量d的地址(112)和它的内容(100)是非常重要的,同时也必须意识到100这个数值用于标识其他位置。
仔细想想上面这句话…
存储a变量的地址的指针也有自己的地址
一个变量的值就是分配给这个变量的内存位置所存储的数值。变量的值就是分配给该变量的内存位置所存储的数值,即使是指针变量也不例外。
emmm也就是说,地址已经存储在指针的地址处了。


间接访问操作符
解引用指针的左值与右值问题。
左值的引用:避免对象拷贝–函数传参、返回值
右值的引用:实现移动语义,实现完美转发。
指针并不存在内建的间接访问属性。


未初始化和非法的指针

int   *a
...
*a = 12;
/*创建一个名叫a的指针变量,赋值语句把12存储在a所指向的内存位置。

声明一个指向整型的指针都不会创建用于存储整型值的内存空间。


NULL指针
特殊的指针变量,表示不指向任何东西。
那么,为什么要设置这个变量呢一个用于在某个数组中查找某个特定值的函数可能返回一个指向查找到的数组元素的指针。如果该数组不包含指定条件的值,函数就返回一个NULL指针,从而允许返回值传达两个不同片段的信息。


指针、间接访问和左值

 int   a;int   *d = &a;

指针变量可以作为左值,并不是因为它是指针,而是因为它是变量。对指针变量进行间接访问表示我们应该访问指针所指向的位置。间接访问指定了一个特定的内存位置,可以把间接访问表达式的结果作为左值使用。

*d = 10 - *d;
d = 10-*d;

第一个语句包含了两个间接访问操作,右边的间接访问作为右值使用,所以它的值是d所指向的位置所存储的值。左边的间接访问作为左值访问,所以d所指向的位置把赋值符右侧的表达式的计算结果作为新值。


指针、间接访问和变量

*&a =25;

首先,&操作符产生变量a的地址,它是一个指针常量。接着,*操作符访问其操作数所表示的地址。实际作用是把值25赋值给变量a.


实例计算字符串的长度

/*
**计算一个字符串的长度
*/#include
size_t
strlen(char *string)
{int  length = 0;/***依次访问字符串的内容,计数字符数,直到遇见NUL终止符*/while(*string++ !='\0')length +=1;return length;

断断续续,还有些指针运算没看太懂,留到下次讲…
最近导师分了个项目,可能更的比较慢…
早点解封吧…

相关内容

热门资讯

男生汗毛重是怎么回事? 男生汗毛重是怎么回事?男性汗毛多是正常的表现,一般与雄激素有密切关系。雄激素是促进机体汗毛生长的,男...
对爱情太理想化,我错了吗? 对爱情太理想化,我错了吗?你很清楚自己对爱情的期待太过理想化,只是苦于无法改变,也无法放弃,这种矛盾...
貌似天仙和貌若天仙的,意思都是... 貌似天仙和貌若天仙的,意思都是指女子长的像天仙一样漂亮是吗?是的,比方说,某某某貌若天仙,或是貌若天...
在书店看到了一本书,是紫色壳子... 在书店看到了一本书,是紫色壳子的上面有白色的花,是一本古言,放在醉玲珑旁边的,但是我忘记看名字了在书...
给小孩报兴趣班有用吗? 给小孩报兴趣班有用吗?小孩儿把兴趣班,当然有用,但是这个用处有多少,就是你当别人的,也不动,小朋友,...
我国古代关于准备的故事 我国古代关于准备的故事我国古代关于准备的故事有一个人,在某天晚上碰到了一个神仙。神仙告诉他,有大事要...
孟买酒店女孩为什么逃走 孟买酒店女孩为什么逃走《孟买酒店》女孩逃走,是为了后面的情节发展,利于剧情的展开。因为如果不是这样,...
推荐一些语言风格温暖的作家吗。... 推荐一些语言风格温暖的作家吗。(不要说冰心、张晓风、毕淑敏什么的) 温暖哦 温暖 温暖第一首选当然是...
姓曾的人的祖先是谁? 姓曾的人的祖先是谁?曾阿牛= =?
一起来又看流星雨26集在哪能看... 一起来又看流星雨26集在哪能看?一起来又看流星雨26集在哪能看?去海南电影 那看都出28集了还26了...
请大家用香港人取英文名的习惯帮... 请大家用香港人取英文名的习惯帮我改个英文名,我叫张云霞,谢谢Cheung(张) Wan(云) Har...
老年人的夏季养生攻略 (图片由AI生成) 夏季来临,气温升高,老年人由于身体机能逐渐下降,更需要注重养生。那么,老年人夏...
梅林街道一间社区厨房因独特美食... ▲这家社区厨房因独特美食,吸引不少市民来尝鲜,同时也成为“巴铁”们慰藉乡愁的地方。 老板娘为食客们...
原创 发... #发糕自己在家就能做,简单易学,1分钟上手,自己做的好吃又卫生 在美食的世界里,发糕那松软香甜的模...
《说勤奋》这课文明白了什么 《说勤奋》这课文明白了什么看到江南新开的考试考试
银川这些场所延长开放时间!涉及... 暑假旅游高峰来临为了更大限度满足公众参观游玩需求近日银川市部分热门文旅场所发布通知延长开放时间镇北堡...
四川本地团避坑指南,3天跟团游... 我一直都对四川的美景心心念念,那壮丽的九寨沟、神秘的峨眉山、古色古香的锦里古街,每一处都像磁石一般吸...
孩子不需要太多旅游 这个暑假,不妨慢下来。 去一个能让孩子奔跑的草地, 去一条能让他们摸鱼的小溪, 去一片能让他们仰望星...
四川旅游参加当地团一般怎么安排... 每年暑期,都是亲子家庭出游的黄金时段。我和爱人一直盼着能带孩子出去长长见识,开阔开阔眼界。可一想到规...
妹妹的脾气很怪,有时笑,有时哭... 妹妹的脾气很怪,有时笑,有时哭,真是:" "填名言或歇后语或俗语——说变就变妹妹的脾气很怪,有时笑,...