小编sta*_*k92的帖子

C中的char指针

#include<string.h>
#include<stdio.h>

int main()
{ 
  char* charPtr="see me";
  printf("%s\n", charPtr);
  printf("%d", charPtr);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我不明白这句话:char*charPtr ="看见我";

如何分配内存?

是否分配了7个字节的内存,并将指针分配给第一个字节?和

我知道sizeof(char*)是4字节,这里有什么关系,它对内存分配有什么影响?

有人请帮帮我.谢谢......

c

0
推荐指数
1
解决办法
120
查看次数

java中的虚方法调用 - 多态

package polymordemo1; 

class animal{
    public void getanimal(animal anim) {
        anim.ganim();
    }

    private void ganim() {
        System.out.println("this is the animal");
    }
}

class cat extends animal{
    public void ganim() {
        System.out.println("I am cat");
    }
}

class bat extends animal{
    public void ganim() {
        System.out.println("I am bat");
    }
}
public class PolymorDemo1 {
public static void main(String[] args) {
        animal a=new animal();
        cat c=new cat();
        bat b=new bat();

        a.getanimal(c);
        a.getanimal(b);

    }
}
Run Code Online (Sandbox Code Playgroud)

我是Java的新手,我正在研究多态性.

此代码的输出结果为:

这是动物

这是动物.

事实上我期待这个输出:

这是猫

这是蝙蝠

什么似乎是代码中的错误.

java polymorphism

0
推荐指数
1
解决办法
2073
查看次数

在c中使用#define

#include<stdio.h>
#include<stdlib.h>

#define d 10+10

int main()
{
    printf("%d",d*d);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

我是宏的概念的新手.我发现上面程序的输出是120.它背后的逻辑是什么?

谢谢.

c c-preprocessor

0
推荐指数
1
解决办法
694
查看次数

C++中的指针数组和什么是"BUS ERROR"

#include<cstdio>
#include<string>
#include<iostream>

using namespace std; 

int main()
{
        int a[]={0,1,2,3};
        int *r[]={NULL};

        for(int i=0;i<4;i++)
        {
                r[i]=&a[i];
                cout << &a[i] << endl;
                cout << a[i]<<endl;
        }

        for(int i=0;i<4;i++)
        {
                cout << r[i] << endl;
                cout << *r[i] << endl;
        }
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

我最近开始研究指针数组.有人可以帮助我找出上述程序中的错误..

我在Windows和Linux平台上运行时附加了结果的屏幕截图.

在Windows上,*r []和a []的地址匹配,但值仍然不匹配.

在linux上,它有时会说"BUS ERROR",有时会说"Segmentation fault".

如果有人解释"BUS ERROR"的含义会更好吗?为什么要这个计划. Linux的 GCC

c++ arrays pointers

0
推荐指数
1
解决办法
675
查看次数

memset如何工作

我创建了一个宏 #define ll long long int来避免打字的痛苦.

现在我有一些像这样的代码.

ll size = 2;
ll *arr = new ll[size];
memset(arr,0,sizeof(arr));
Run Code Online (Sandbox Code Playgroud)

当我试图运行这个.

我看到arr的值为4294967296 420906795007而不是0 0

memset如何工作?

c++

-6
推荐指数
2
解决办法
744
查看次数

标签 统计

c ×2

c++ ×2

arrays ×1

c-preprocessor ×1

java ×1

pointers ×1

polymorphism ×1