-
之前眼中有代码无产品,现在眼中有产品有代码,什么时候能做到有产品无代码?还需要努力。
刚开始实习的时候,总喜欢在程序中使用*(p+1) =而不是p[1]来给入参,...
-
首先普通变量有两种形态:a &a
a:表示内存中的值。
&a:表示存放该值的内存地址。
指针变量有3种形态:p *p &p;
p: ...
-
我是在学习单片机的时候才真正知道C语言是什么它是来干什么的~但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,呵呵我们这里就不讨论这个了。我们是不是在写程序的时候错误很...
-
最近在进行C语言复习,不借助课本死知识,试图直接通过某些方式进行推理验证,来得出一些听过的和没听过的、还有忘记的结论。
比较浅,适合初学者看。但也有一些不容易发现的小...
-
基本定义:结构体,通俗讲就像是打包封装,把一些有共同特征(比如同属于某一类事物的属性,往往是某种业务相关属性的聚合)的变量封装在内部,通过一定方法访问修改内部变量。
结构体定义:...
-
volatile 的英文解释是&mDASh;&mDASh;“易失的,易改变的”。
顾名思义,这个关键字的含义是向编译器指明变量的内容可能会由于编译器意想不...
-
附程序分布图:
程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)&mDASh; 由编译器自动分配释放 ,存放函...
-
一、程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分:
1、栈区(stack)&mDASh; 由编译器自动分配释放 ,存放函数的参数值,...
-
大内高手&mDASh;常见内存错误
随着诸如代码重构和单元测试等方法引入实践,调试技能渐渐弱化了,甚至有人主张废除调试器。这是有道理的,原因在于调试的代价往往太大了,特别是调...
-
概述
Joel Spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个C/C++语言中最强劲也是最容易出错的要素。
鉴于...
-
1.写在前面
数组表示的优势和弊端
二叉树同样有两种存储方式,数组和链式存储,对于数组来说,我们利用二叉树的性质然后利用下标可以方便的找到一个节点的子...
-
想写个崩溃的C语言小程序,看起来是个奇怪的主意,不过在我曾经教过的一门实验课上,这是作业之一!
实际上,这是一件非常有教学意义的事情。
通常学生们要么尝试反向引用一个非法地址,...
-
1. 什么是空指针常量(null pointer constant)?
[6.3.2.3-3] An integer constant expression with the v...
-
为什么strncpy()不能总在目标串放上终止符’\0’?
strncpy() 最初被设计为用来处理一种现在已经废弃的数据结构&mDASh;...
-
scanf() 有很多问题&mDASh;&mDASh; 参见问题12.15, 12.16 和12.17。而且, 它的%s 格式 有着和gets() 一样的问题(参见问题12.20)...
-
第一种形式声明了一个“结构标签”;
第二种声明了一个“类型定义”。
主要的区别是在后文中你需要用&...
-
语言定义中说明,
每一种指针类型都有一个特殊值&mDASh;&mDASh; “空指针” &mDASh;&mDASh; 它与同类型的其它所有...
-
通常, 你不需要。
当人们随便提到数组指针的时候, 他们通常想的是指向它的第一个元素的指针。
考虑使用指向数组某个元素的指针, 而不是数组的指针。
类型T 的数组蜕变成类型T...
-
没有完美的方法。
假设有如下声明
int array[NROWS][NCOLUMNS];
int **array1; /* 不齐的*/
int **array2; /* 连...
-
一般地说, 使用指针的时候, 你必须总是考虑内存分配, 除非明确知道编译器替你做了此事。
如果一个库函数的文档没有明确提到内存分配, 那么通常需要调用者来考虑。Unix 型的手册...