我刚刚开始从学习C语言。
在我上面链接的部分中,作者希望从一个函数返回一个数组,他写道:
C不主张将局部变量的地址返回到函数外部,因此必须将局部变量定义为静态变量。
我理解阻止返回局部变量地址的原因。原因是局部变量在其作用域之外不可用,因此在函数之外使用它的地址会在运行时产生错误。
但我不明白的是,为什么我们必须定义数组静态而不是全局
将本地数组定义为静态只会改变其生存期,还是也会更改其作用域?
这就是我所说的节目:
#include <stdio.h>
/* function to generate and return random numbers */
int *
我一直在试图弄清楚为什么这个基本的java程序不能运行。我得到大约7个找不到符号错误。任何帮助都将不胜感激。我很想知道我做错了什么。
该程序只是一些基本的计算,提示一些输入和输出数据,这些数据显示了一个驾驶员的罚款是多少。
import java.io.*;
import java.util.*;
public class Lab1 {
public static void main (String args[]) {
// Create a scanner to read from keyboard
Scanner kbd = new Scanner(System.in)
我不明白为什么这段代码的输出是10
package uno;
public class A
{
int x = 10;
A(){int x = 12; new B();}
public static void main(String args[]){
int x = 11;
new A();
}
class B{
B(){System.out.println(x);}
}
}
本例中的作用域是如何工作的?为什么System.out.println(x);打印10个?是不是因为指令System.ou
当我准备OCAJP考试时,我参加了模拟考试,我遇到了下面这个关于变量和变量范围的问题。
public class HelloWorld{
static int x = 2;
public static void main(String []args){
if(x>1)
{
x++;
int x = 4;
}
System.out.println(x);
final int x = 10;
}
}
上面代码的输
我已经在这里粘贴了我的代码。下面的代码描述了我正在尝试做的事情
import java.util.*;
import java.io.*;
//given a string, gives letters counts etc
public class LetterDatabase{
private String word;
private int[] charCounts;
public static final int TOTAL_LETTERS=26;
//constructor
public LetterDatabase(String
下面是一个合法的java程序,运行良好,打印5。
有人能帮我理解静态块中的变量是怎么回事吗?为什么X可以合法申报两次?静态声明是否优先于静态块?
静态块变量'x‘是否隐藏这个小程序顶部声明的静态变量'x’。如果是的话,它是如何访问的?
public class App {
static int x = 2;
static int z;
static{
int x = 3;
z = x;
}
pub
我是C语言的初学者,目前正在学习数据类型修订章节。我已经解决了很多静态存储类的程序。静态存储类具有本地作用域。在下面的代码中,静态变量被声明在main变量之上,即全局变量。这是可能的吗?并且根据静态存储类的特征确定的o/p是正确的。
static int y ;
main( )
{
static int z ;
printf ("%d %d", y, z ) ;
}
有没有人可以告诉我main上面的静态变量声明是正确的?如果这是正确的,请尝试用外行语言解释。
我不知道如何引用.toString()方法中的变量。我一直在想办法做到这一点。它是公开的,所以我不明白为什么它没有被分享。导入java.util.Scanner;
class Donation {
public static void main(String[] args) {
Donation uw1 = new Donation("University of Washington", 600.75, true);
Donation uw2 = new Donation("University of Washington", 40, tr
以下代码在Java中是安全的吗?我担心的是,在函数f()中,变量arr是在堆栈上分配的,因此在离开作用域时会被释放,但仍然会在作用域之外被引用。
public class Main {
public static class Array {
public final int[] arr;
public Array(int arr[]) {
this.arr = arr;
}
}
public static Array f() {
int arr[] = {1, 2, 3};
return new Array(arr);
}
pub
在Java中,为什么局部作用域变量不能隐藏,而全局作用域变量可以隐藏?例如:
public class Hello {
static int x = 10;
public static void foo() {
int x = 20; // Hides the global variable with the value of "20" within the
method foo.
}
}
但这是不可能的:
public class Hello {
public static void foo() {
int
我知道在c++中变量有块作用域,例如,下面的代码在C++中工作
void foo(){
int a = 0;
for(int i = 0; i < 10; ++i){
int a = 1; //re-define a here.
}
}
但是这个代码片段在java中不起作用,它报告“重复的局部变量a",这是否意味着java变量没有块作用域?
一般来说,重写的概念是在子class.Why变量中重新定义成员的含义,而在java中重写时,变量的行为与方法不同?
例如:
class Base {
int a = 10;
void display() {
System.out.println("Inside Base :");
}
}
class Derived extends Base {
int a = 99;
@Override
// method overriding
void display() {
System.ou
下面是我的代码片段:
public class Test {
public static void main(String[] args) {
class EnglishHelloThere {
int a=10;
}
}
}
我创建了一个本地类,以查看在没有从编译器为本地类中的变量编写任何修饰符时,我会得到什么样的访问修饰符。
这就是我在JAVAP上得到的
Compiled from "Test.java"
class com.Test$1EnglishHelloThere
Source
我申请了一份工作,他们给了我一个java测试。有许多未知的概念,我不熟悉,也看到了较新的。一种是关于静态场。我在下面发布了一个最奇怪的问题,并寻求帮助。
代码包括注释中的问题.
public class MyClass {
//what is the purpose of section, I mean for which purpose is it being used?
//can variables inside of belove section be used or not. If can be used, then how?
static{