![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组与指针进阶
文章平均质量分 65
Booksort
纯粹小白,博客只为加深自己理解
展开
-
PTA-说反话(加强版)-C语言
这道题,是我遇见对数组元素的掌握与使用较为灵活的题目。下面代码是我刚接触C++,刚学完类的一系列知识,连入门都没过,对C++的强大还未有多大认知,还是极具C语言的风格。我看过一篇用C++完成的比这个简单多了。C语言也可以用栈来完成,虽然我有栈的实现函数,但我不愿去搞,就这样吧,实现也是对自己知识点掌握的加深认知。#include <iostream>#include <cstring>int main(void){ int a = 0; char ch.原创 2021-05-29 10:21:29 · 2434 阅读 · 8 评论 -
当const遇上指针
const关键字可以有很多用处,比如:#define ROW 10就代表ROW的值恒为10,不可修改。而const int ROW=10;也可以将值恒定,无法修改。还有const int num[10];//将数组整个保护,无法修改。但,并不是将被保护量变为常量,而是在处理时将其看为常量,不能对其修改。当const与指针结合我们先来看看这个const int num[] = { 1,2,3,4,5 }; int* p = num; num[0] = 10; *p = 1原创 2021-01-28 16:49:55 · 176 阅读 · 1 评论 -
指针进阶-THREE(有对指针和数组的加深理解)
指针进阶-TWO屁话不多说,自接上题目#include <stdio.h>int main(void){ int a[] = { 1,2,3,4 }; int* ptr1 = (int*)(&a + 1); int* ptr2 = (int*)((int)a + 1); printf("%x,%x\n", ptr1[-1], *ptr2); return 0;}这两个指针一看过去,相当令人头大,我们可以一步一步去化简。a是一个有4个元素的一维数组,来具象化,也就原创 2021-01-11 20:07:35 · 150 阅读 · 0 评论 -
指针进阶-TWO
先来看看sizeof()与strlen()的基本区别sizeof()是计算类型的字节大小。strlen()是计算字符串的长度,以’\0’结束,但是,strlen()括号内只能是地址,才能计算。strlen()要解引用一次再进行运算。只能解引用一次,诺传递一个二级指针,是错误的。strlen 会解引用一次,然后,得到那个地址会将它进行运算。所有元素,整型或字符都是以补码的形式储存在内存中。而且是十六进制。还要考虑大小端的储存模式。如,ff aa bb 00,就会读到0停止,计算得3个字节,诺,00原创 2021-01-10 16:54:45 · 331 阅读 · 5 评论 -
指针进阶-ONE(包含对数组的加深理解)
指针的题目对于初学者,算比较折磨人的,尤其是和数组密不可分,来看看一道题目吧。#include <stdio.h>int main(void){ int a[] = { 1,2,3,4 }; printf("%d\n", sizeof(a)); printf("%d\n", sizeof(a + 0)); printf("%d\n", sizeof(&a)); printf("%d\n", sizeof(*&a)); printf原创 2021-01-06 21:56:42 · 207 阅读 · 0 评论