其中将存储const char*值。什么是堆栈崩溃&;堆崩溃?

其中将存储const char*值。什么是堆栈崩溃&;堆崩溃?,c,data-structures,stack-overflow,C,Data Structures,Stack Overflow,如果我像下面这样定义char数组 char arr[100] = "hello how are you"; 这个字符串(“您好”)准确地存储在哪里?(堆栈/堆/数据区/其他地方?) 堆栈溢出与堆栈崩溃 堆栈溢出和堆栈崩溃之间的区别是什么。什么时候发生堆栈崩溃 堆溢出还是堆崩溃 发生堆栈溢出/堆溢出时会发生什么情况 字符串文本存储在只读内存中,并在程序长度内保持不变。因此,从函数返回此指针是安全的 在本例中,您将字符串文本的内容复制到本地char数组变量中。所以“你好”和字符arr[100]的

如果我像下面这样定义char数组

char arr[100] = "hello how are you";
这个字符串(
“您好”
)准确地存储在哪里?(堆栈/堆/数据区/其他地方?)

  • 堆栈溢出与堆栈崩溃

    堆栈溢出和堆栈崩溃之间的区别是什么。什么时候发生堆栈崩溃

  • 堆溢出还是堆崩溃

  • 发生堆栈溢出/堆溢出时会发生什么情况

  • 字符串文本存储在只读内存中,并在程序长度内保持不变。因此,从函数返回此指针是安全的
  • 在本例中,您将字符串文本的内容复制到本地char数组变量中。所以
    “你好”
    字符arr[100]
    的存储是不同的

    您可以修改
    arr
    ,每次程序流返回到该行时,arr将再次用原始字符串文本初始化。您不能从函数返回指向
    arr
    的指针,因为
    arr
    只是一个局部变量

    提示:只有
    chararr[]=“你好”
    是必需的,除非您希望添加的字符数超过字符串文字中的字符数

  • 我不知道什么是“堆栈崩溃”

  • 我不知道堆会溢出。但是,在堆上分配内存的请求可能会失败。我不知道什么是“堆崩溃”

  • 当堆栈溢出发生时,程序通常会崩溃。当分配堆内存的请求失败时,
    malloc
    将返回NULL,
    new
    将抛出
    std::bad_alloc

  • 字符串文本存储在只读内存中,并在程序长度内保持不变。因此,从函数返回此指针是安全的
  • 在本例中,您将字符串文本的内容复制到本地char数组变量中。所以
    “你好”
    字符arr[100]
    的存储是不同的

    您可以修改
    arr
    ,每次程序流返回到该行时,arr将再次用原始字符串文本初始化。您不能从函数返回指向
    arr
    的指针,因为
    arr
    只是一个局部变量

    提示:只有
    chararr[]=“你好”
    是必需的,除非您希望添加的字符数超过字符串文字中的字符数

  • 我不知道什么是“堆栈崩溃”

  • 我不知道堆会溢出。但是,在堆上分配内存的请求可能会失败。我不知道什么是“堆崩溃”

  • 当堆栈溢出发生时,程序通常会崩溃。当分配堆内存的请求失败时,
    malloc
    将返回NULL,
    new
    将抛出
    std::bad_alloc

  • 字符串文本存储在只读内存中,并在程序长度内保持不变。因此,从函数返回此指针是安全的
  • 在本例中,您将字符串文本的内容复制到本地char数组变量中。所以
    “你好”
    字符arr[100]
    的存储是不同的

    您可以修改
    arr
    ,每次程序流返回到该行时,arr将再次用原始字符串文本初始化。您不能从函数返回指向
    arr
    的指针,因为
    arr
    只是一个局部变量

    提示:只有
    chararr[]=“你好”
    是必需的,除非您希望添加的字符数超过字符串文字中的字符数

  • 我不知道什么是“堆栈崩溃”

  • 我不知道堆会溢出。但是,在堆上分配内存的请求可能会失败。我不知道什么是“堆崩溃”

  • 当堆栈溢出发生时,程序通常会崩溃。当分配堆内存的请求失败时,
    malloc
    将返回NULL,
    new
    将抛出
    std::bad_alloc

  • 字符串文本存储在只读内存中,并在程序长度内保持不变。因此,从函数返回此指针是安全的
  • 在本例中,您将字符串文本的内容复制到本地char数组变量中。所以
    “你好”
    字符arr[100]
    的存储是不同的

    您可以修改
    arr
    ,每次程序流返回到该行时,arr将再次用原始字符串文本初始化。您不能从函数返回指向
    arr
    的指针,因为
    arr
    只是一个局部变量

    提示:只有
    chararr[]=“你好”
    是必需的,除非您希望添加的字符数超过字符串文字中的字符数

  • 我不知道什么是“堆栈崩溃”

  • 我不知道堆会溢出。但是,在堆上分配内存的请求可能会失败。我不知道什么是“堆崩溃”

  • 当堆栈溢出发生时,程序通常会崩溃。当分配堆内存的请求失败时,
    malloc
    将返回NULL,
    new
    将抛出
    std::bad_alloc


  • 你已清楚地将问题分为四个不同的问题。应分别询问这些问题,单击每个问题的按钮。请这样做,这样我们就可以分别回答每个问题:)这可能会回答你问题的一部分。你已经清楚地将你的问题分为四个不同的问题。应分别询问这些问题,单击每个问题的按钮。请这样做,这样我们就可以分别回答每个问题:)这可能会回答你问题的一部分。你已经清楚地将你的问题分为四个不同的问题。应分别询问这些问题,单击每个问题的按钮。请做这个
    const char *f()
    {
        return "Hello";
    }