![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 81
哼着无旋律的歌
这个作者很懒,什么都没留下…
展开
-
对const关键字的理解
在基地差不多培训了三个月的嵌入式了,但对有些C语言的东西理解还是很模糊,有时更是不知道怎么回事,转转了几个人的文章,希望对自己有所帮助!! 1、 const修饰的变量是常量还是变量 对于这个问题,很多同学认为const修饰的变量是不能改变,结果就误认为该变量变成了常量。那么对于const修饰的变量该如何理解那? 下面我们来看一个例子: int main {原创 2013-10-31 14:11:37 · 455 阅读 · 0 评论 -
C语言常见的几个排序
#include "stdio.h" void insersoft(int ch[],int len) //插入排序{ int i,j,temp; for(i = 1; i { temp = ch[i]; j = i-1; while(j>=0 && temp { ch[j+1] = ch[j]; ch[j] = temp; j--; }原创 2013-10-31 14:12:17 · 515 阅读 · 0 评论 -
串的堆分配存储
#include "string.h"#include "stdio.h"#include "stdlib.h"enum Status {ERROR,OK,TRUE,FALSE,OVERFLOW}; typedef struct { char *ch; //若是非空串,则按串长分配存储区,否则ch为NULL int length; // 串长度} HString; Sta原创 2013-10-31 14:11:51 · 865 阅读 · 0 评论 -
指针的详解
指针算的上是C语言比较难的一个词汇,我自己每次看到复杂的指针更是头都有点大,每次理解了过了几天又模糊了,算不上理解指针的概念了。在论坛里看到一篇指针的详解赶紧转载过来,方便自己的理解: 指针详解 一。指针的概念 1。指针的类型 2。指针所指向的类型 3。指针的值二。指针的算术运算三。运算符&和*四。指针表达式五。数组和指针的关系 一原创 2013-10-31 14:11:47 · 384 阅读 · 0 评论 -
void 和VOID指针类型
1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。 void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变原创 2013-10-31 14:13:09 · 452 阅读 · 0 评论 -
拷贝构造函数遇到指针的问题
想必大家都知道在以下三种情况会调用拷贝构造函数: q将某个对象初始化为类的另一个对象时 q将对象当作参数传递给函数时 q函数返回对象时 但是在类中我们申明一个指针属性的时候,我是在构造函数里用new分配空间,在析构函数释放空间。在main()里调用 类名 对象名(另一个对象名);//符合第一条 String s2(s1);s2.display();原创 2013-10-31 14:12:19 · 719 阅读 · 0 评论 -
const注意的几个事项
const的好处: 使用const的好处在于它允许指定一种语意上的约束——某种数据不能被修改——编译器具体来实施这种约束。通过const,我们可以告知编译器和其他程序员某个值要保持不变。只要是这种情况,我们就要明确地使用const ,因为这样做就可以借助编译器的帮助确保这种约束不被破坏。 看下面几个例子估计又得头大: const int *c; //指针所指向的内容不能变原创 2013-10-31 14:12:14 · 584 阅读 · 0 评论 -
串的堆分配存储
#include "string.h"#include "stdio.h"#include "stdlib.h"enum Status {ERROR,OK,TRUE,FALSE,OVERFLOW}; typedef struct { char *ch; //若是非空串,则按串长分配存储区,否则ch为NULL int length; // 串长度} HString; Sta原创 2013-10-31 14:11:54 · 692 阅读 · 1 评论 -
指针与数组的区别
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。指针可以随时指向任意类型的内存块。(1)修改内容上的差别char a[] = “hello”;a[0] = ‘X’;char *p = “world”; // 注意p 指向常量字符串p[0] = ‘X’; // 编译器不能发现该错误,运行时错误 char a[]是放在栈中的,可以这么理解只是复制了hello这个内容,就好比“hello”原创 2013-10-31 14:11:49 · 408 阅读 · 0 评论 -
C语言面试经常遇到的题
1.static有什么用途?(请至少说明两种)1)限制变量的作用域2)设置变量的存储域(堆,主动分配内存是堆) 1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调原创 2013-10-31 14:11:45 · 922 阅读 · 0 评论 -
深入理解形参的重要性
/*#include "string.h"#include #include void getmemory(char **p) //函数的参数是局部变量,在这里给它分配内存还在,但是P释放了。{ *p=(char *) malloc(100); (*p)[0]='a'; (*p)[1]='\0';} int main( ){ char a[10]="eee"; char *str=a原创 2013-10-31 14:11:42 · 475 阅读 · 0 评论 -
UNIX下c语言的图形编程
相信您在网路上一定用过如 tin,elm 等工具, 这些软体有项共同的特色,即他们能利用上下左右等方向键来控制游标的位置。 除此之外, 这些程式的画面也较为美观。 对 Programming 有兴趣的朋友一定对此感到好奇, 也许他能在 PC 上用 Turbo C 轻易地写出类似的程式, 然而, 但当他将相同的程式一字不变地移到工作站上来编译时, 却出现一堆抓也抓不完的错误。其实, 原因很简单, 他原创 2013-10-31 14:12:21 · 574 阅读 · 0 评论