《C语言深度剖析》第四章 指针和数组 p4 C语言从入门到入土(进阶篇)
谁都不能阻挡你成为更优秀的人。 1. 指针数组和数组指针1.1. 区分数组指针和指针数组其实判断很简单,我们先找变量名这里是p1,p2,然后左右两边都是操作符,变量名和谁结合这个最终的类型就是什么,而且注意[ ]的优先级大于*,所以如果不加[ ],变量名就和[ ]结合变成数组,然后再看数组里面的类型是什么也就是剩下的int* 就是数组里面的类型也就是说,这是一个指针数组,是数组。所以想要是数组指....
《C语言深度剖析》第四章 指针和数组 p3 C语言从入门到入土(进阶篇)
谁都不能阻挡你成为更优秀的人。 1. 指针和数组的关系1.1 先说结论:1.没有关系2.在元素访问上有很大的相似性1.2. 以指针的形式访问和以数组的形式访问#include <stdio.h> #include <string.h> #include <windows.h> #define N 10 int main() { char *st...
《C语言深度剖析》第四章 指针和数组 p2 C语言从入门到入土(进阶篇)
谁都不能阻挡你成为更优秀的人。 2. 数组1.1 概念:数组是具有相同数据类型的集合。#define N 10int a [ N ] = { 0 }; // 定义并初始化数组2.2. 数组的内存布局[0]先入栈[0]的地址最大?其实我们之前说过的数组在栈中的布局也是[0]最小然后递增的。 所以:在开辟空间的角度,不应该把数组认为成一个个独立的元素,应该整体开辟空间,整体释放。2.3 理....
《C语言深度剖析》第四章 指针和数组 p1 C语言从入门到入土(进阶篇)(二)
5.2. 指针的解引用我们可以通过这些图看理解代码的意思: 那又有一个问题:*p用的是左值还是右值?int a=10; int*p=&a;*p:*是一个操作符,*p的那一个表达式,*p使用的是左值还是右值?(看下图)虽然我们把地址放到了变量p里面,但是在我们用的时候是直接访问该变量里面的地址,是直接访问目标地址的。所以右边的式子是等于....
《C语言深度剖析》第四章 指针和数组 p1 C语言从入门到入土(进阶篇)(一)
指针和数组1. 指针指针是什么在回答这个问题之前,我想先问:1.1 如何看待下面代码中的a变量?反汇编可以看一下: 重新理解变量:定义一个变量,本质是在内存中根据类型来进行开辟空间。有了空间,就必须具有地址来标识空间,来方便CPU进行寻 址。有了空间,就可以把数据保存起来。所以,目前我们先讨论变量的空间和内容这两个概念1.2. 什么是指针?指针就是地址!那么地址本质是什么呢?地址是数据,那么数据....
空瓶换水喝水问题?给一个数组,如何让奇数在前偶数在后?C语言从入门到入土(进阶篇)(算法篇p5)
题一:喝水问题,一块钱可以换1瓶水,2个空瓶可以换1瓶水,给你对应的钱数求能喝的水数:int main() { int money = 0;//钱 int total = 0;//喝水瓶 int empty = 0;//空瓶 scanf("%d", &money); total += money; empty += total; while (empty &g...
(数组p2以及对递归的补充) C语言从入门到入土(入门篇)(二)
第三要素:找出函数的等价关系式第三要素就是,我们要不断缩小参数的范围,缩小之后,我们可以通过一些辅助的变量或者操作,使原函数的结果不变。 例如,f(n) 这个范围比较大,我们可以让 f(n) = n * f(n-1)。这样,范围就由 n 变成了 n-1 了,范围变小了,并且为了原函数f(n) 不变,我们需要让 f(n-1) 乘以 n。 说白了,就是要找到原函数的一个等价关系式,f(n) 的等价关....
(数组p2以及对递归的补充) C语言从入门到入土(入门篇)(一)
//下面两个用例我们后面单独拿出来讲哈!数组的应用实例1:三子棋数组的应用实例2:扫雷游戏这两个会专门写在后面3. 数组越界数组的下标是有范围限制的。数组的下规定是从 0 开始的,如果数组有 n 个元素,最后一个元素的下标就是 n-1 。所以数组的下标如果小于 0 ,或者大于 n-1 ,就是数组越界访问了,超出了数组合法空间的访问。C 语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编....
(数组p1) C语言从入门到入土(入门篇)(三)
2.4 二维数组在内存中的存储像一维数组一样,这里我们尝试打印二维数组的每个元素。通过结果我们可以分析到,其实二维数组在内存中也是连续存储的。 最后!今天的内容就完成了哈!!!要是觉得对你有一点帮助的话,就来一个点赞加关注吧!!你的支持是作者的最大动力!!!当然,订阅的话更容易了解到第一更新信息哈!最后的最后,祝我们越来越好!!!
(数组p1) C语言从入门到入土(入门篇)(二)
1.4 一维数组在内存中的存储接下来我们探讨数组在内存中的存储。看代码:#include <stdio.h> int main () { int arr [ 10 ] = { 0 }; int i = 0 ; int sz = sizeof ( arr ) / sizeof ( arr [ 0 ]); for ( i = 0 ; i < sz ; ++ i ) { pr...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
C语言更多数组相关
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注