程序1:#include<iostream>using namespace std;char *str(){char *str="hejk ";return str;}void main(){str();}程序2#include<iostream>using namespace std;char *str(){char str[]="hejk
Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不
一些人用了一阵子的Java,可是对于 Java 的 package 跟 import 还是不太了解。很多人以为原始码 .java 文件中的 import 会让编译器把所 import 的程序通通写到编译好的 .class 档案中,或是认为 impor
C语言程序占用的存储空间通常为3部分,分别称为程序区、静态存储区和动态存储区。静态存储区---全局变量和局部静态变量存放在这里动态存储区---形参变量,局部动态变量(auto,register),函数调用现场保护和返回地址等变量的作用域是指该变量有定义的程序部分。从作用域的角度看,C语言中的变量分为局部变量和全局变量。一、定义1.局部变量:在函数内部或复合语句内部定义的变量。函数的形参也属于局部变
堆和栈的区别:1.申请方式栈:由系统自动分配的,例如,声明在一个函数中的一个局部变量int b,系统自动在栈中为b开辟空间。堆:需要程序员自己申请,并指明大小,在C中用malloc函数。如: p1=(char *)malloc(10);在C++中,用new运算符,如:p2=(char *)malloc(10);分配来的10字节的区域就在堆区。但是注意p1,p
一、C语言分为几下几类:1.栈区(stack)由编译器自动分配和释放,存放函数的函数值,局部变量的值等。操作方式类似于数据结构中的栈。2.堆区(heap)一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。注意它同数据结构的堆是两回事,分配方式类似于链表。3.全局区(静态区static)全局变量和静态变量的存储是放在一起的,初始化的全部变量和静态变量在一块区域,未初始化的全局变量
关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):sizeof(short int)&l
C语言提供了多种编译预处理功能,其中主要的有宏定义、文件包含、条件编译。在C语言中,凡是以“#”开头的行,都称为“编译预处理”命令行。如:#include,#define 伪指令(或预处理指令)定义: 预处理指令是以#号开头的代码行。#号必须是该行除了任何空白字符外的第一个字符。#后是指令关键字,在关键字和#号之间允许存在任意个数的空白字符。整行语句构成了一条预处理指令,该指令将在编译器进行编译之
当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐)int const* p;
C语言字符串操作函数1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中的元音字符个数8. 判断一个字符串是否是回文1. 写一个函数实现字符串反转版本1 - while版void strRev(char*s){char temp
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号