![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言学习
zbguohua
这个作者很懒,什么都没留下…
展开
-
C语言指针的左值与右值
为什么要用指针? 因为计算机是"存储式执行", 不论代码还是数据, 都在内存中存放看1.指针, 首先是内存中的一个地址;同时根据使用的目的, 有些不同的属性 1.1用于读/写一个变量(对象), 这时指针是一个变量(对象)的起始地址, 有数据类型这个属性 2.2用于读/写某个数组成员, 特性同上(数据类型有可能是"子数组") 2.3...原创 2020-09-21 15:46:51 · 1362 阅读 · 0 评论 -
函数指针练习与理解
#include <stdio.h>#include <stdlib.h>int add(int a, int b){ return a+b;}int main(){ int (*fn)(int, int)=add; if ( *fn == &add) puts("*fn == &add\n"); if ( *fn == add) puts("*fn == add\n"); if ( &fn != a.原创 2020-05-18 11:45:15 · 199 阅读 · 0 评论 -
变量 内存 指针(七) 指针与数组练习
指针与数组练习 运行结果#include <stdio.h>#include <stdlib.h>int main(){ int cnt, (*p)[5]; int i; printf("请输入数组的个数(>0):\n"); scanf("%d", &cnt); if (cnt>0) p=m...原创 2020-05-07 08:24:15 · 187 阅读 · 0 评论 -
个人理解的C语言的声明
有些教材上说, 声明不是语句, 这里为了叙述方便, 还是使用声明语句这种说法了C语言的声明语句, 我知道的有4种(变量,数组,结构类型, 函数):1.变量声明, 例如 int a, *p; //a是 整型变量, p是 整型指针变量 int (*p_i4)[4]; //p_i4, 是 int[4]型指针变量 2. (个人观点, C中只有数组数据, 没有作为左值的 ...原创 2019-02-18 14:57:27 · 349 阅读 · 0 评论 -
啊哈C快速排序, 为什么必需从右边开始扫描
(关于这个问题的前提: 算法是要实现"从小到大"的升序排列, 因此, 是把左边的较大数与右边的较小数进行交换 ) 从左边开始的扫描, 其目标是找到第一个比基准值大的数, 然后与比基准值小的数进行交换同时有个条件, 需要这个较大的家伙是在比基准值小的数之前, 也就是较小数的左边否则就失去"左大"和"右小"交换的机会了因此, 这种情况下, 必须先从右向左找到第一个小于基准数的"右小"...原创 2018-10-29 11:28:25 · 1159 阅读 · 0 评论 -
内存 变量 指针(三) 表达式与自增后缀运算
0. 表达式由运算符及其操作数组成 i++ ++ 是后自增运算符, i是它的操作数 i+=1 += 是求和赋值运算符, i和1都是它的操作数, i是左操作数, 1是右操作数 1. 左值和左值表达式 可以放在赋值运算符左侧的操作数是左值 如果一个表达式的计算结果是左值,那么这个表达式是左值表达式...原创 2014-05-30 10:22:14 · 846 阅读 · 0 评论 -
C语言中变量的声明与分号的使用
断断续续学习C语言多年了,可能自学这种语言, 对我来说难度有点大... 1.变量和函数使用前需要声明, 而声明从执行结果上分为两种 A.声明并创建变量 (定义性声明, 分配内存) B.只声明变量 (引用性声明) A例:int age; B例:extern...原创 2018-08-06 15:29:24 · 3774 阅读 · 0 评论 -
内存 变量 指针(四)
变量是一块内存区域, 对变量的常用操作包括:1. 声明, 也就是分配内存, 同时以标识名称来命名2.赋值, 用给定的数据, 替换该内存中的数据3.在右值表达式中引用, 也就是提取该内存中的数据, 代入表达式中4.*p 这个表达式, 返回值就是p指定的那块内存区域中的数据(也许未命名, 也许其他人写的代码中已命名, 但作为被调用函数来说, 不知道变量名, 但收到了存取的地址和数据类型)...原创 2015-05-19 07:22:16 · 376 阅读 · 0 评论