c/c++
文章平均质量分 53
norbe
这个作者很懒,什么都没留下…
展开
-
void main(int argc,char* argv[])参数引发的指针自加问题
void main(int argc,char* argv[])里的argv可以自加,因为这是一个形参,仅仅代表一个指针,当然可以自加;而 int a[2], 这样的 a是首地址,也是数组名, a++是禁止的, 因为++是左值操作, a=a+1, 而数组名是不能做左值的,所以不能自加int *p=a;p++是允许的, 而且内容就是a[1].原创 2006-03-14 19:48:00 · 1225 阅读 · 0 评论 -
static 函数和变量
static 声明的变量在C语言中有两方面的特征: 1)、变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。 2)、变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。Tips: A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度; B.若全局变原创 2006-04-07 17:12:00 · 7128 阅读 · 1 评论 -
变量生存期的问题
#include using namespace std;char *getm(void){ char p[] = "csdn"; return p;}void test(void){ char *str = NULL; str = getm(); cout}int main(void){ test(); return 0;}程序运行结果不是:csdn,而是乱码,这是因原创 2006-03-16 15:27:00 · 880 阅读 · 0 评论 -
C 的文件操作
文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、转载 2006-03-14 20:00:00 · 946 阅读 · 0 评论 -
结构体内成员的对齐问题
为了能使CPU对变量进行高效快速的访问,变量的起始地址应该具有某些特性,即所谓的“对齐”。例如对于4字节的int类型变量,其起始地址应位于4字节边界上,即起始地址能够被4整除。变量的对齐规则如下(32位系统):TypeAlignmentchar在字节边界上对齐short (16-bit)在双字节边界上对齐int and long (32-bit)在4字节边界上对齐float在4字节边界上对齐d转载 2006-03-14 19:54:00 · 1009 阅读 · 0 评论 -
指 针 和 引 用
一、 指针的概念1.指针含义: 指针就是内存地址。2.定义:l 指针是一个变量,其内容为内存地址。l 指针定义与其他普通变量类似,凡是声明变量的地方,就可声明指针变量。l 指针变量只是分配了分配了存放地址的空间,但未具体将某个确切地址存入其中。 类型 *指针名; 类型:int,floa转载 2006-03-14 19:41:00 · 1520 阅读 · 0 评论 -
关于回调函数
一,回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理、用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。 而那个函数在需要的时候,利用传递的地址原创 2006-03-15 17:14:00 · 797 阅读 · 0 评论 -
C++面试题
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已virtual可加可不加子类的空间里有父类的所有变量(static除外)同一个函数只存在一个实体(inline除外)子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间转载 2006-03-14 19:57:00 · 722 阅读 · 0 评论 -
声明与函数、函数指针
概述 在很多情况下,尤其是读别人所写代码的时候,对 C语言声明的理解能力变得非常重要,而C语言本身的凝练简约也使得C语言的声明常常会令人感到非常困惑,因此,在这里我用一篇的内容来集中阐述一下这个问题。 问题:声明与函数 有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做? 答案 答案是 (*(void (*)( ) )0)( )。看起来确实令转载 2006-03-14 19:51:00 · 7533 阅读 · 4 评论 -
WININET使用简例
下列代码示范了使用wininet接口的简单方法。1.用post方式提交两个参数到saveID.jsp, jsp server会暂时记录这两个参数2.sleep 1秒钟之后,用get方式提交一个参数到getID.jsp ,jsp返回刚才提交的另外一个参数// http.cpp : Defines the entry point for the console application.//原创 2008-04-09 13:33:00 · 935 阅读 · 0 评论