函数外有分配内存的 char *outside,函数内有分配内存的 char *inside,如果先将 outside 所指的内存释放掉,然后将 inside 指针赋值给 outside,可行吗?函数结束后会被释放吗?有没有风险。

ReputationZh:示例:

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

char *ptrToptr(char *outside)
{
    char *inside = NULL;

    inside = (char *)malloc(200 * sizeof(char));
    strcpy(inside, "inside");
    free(outside);

    return inside;
}

int main()
{
    char *outside = NULL;
    outside = (char *)malloc(100 * sizeof(char));
    strcpy(outside, "outside");
    outside = ptrToptr(outside);

    printf("%s\n", outside);

    free(outside);
}

jmc891205:可行,函数结束后不会被释放
风险就是手动管理内存导致的各种 bug

Java中字符串字符的结尾 - java

我正在解决一个简单的问题:在Java中删除字符数组中的某些字符,想法很简单:static void remove_char(char[] arr, char c){ int r = 0; for (int i = 0 ; i < arr.length ; i++){ if (arr[i] == c){ r++; continue; } arr[i - …

在Python中按字典的值按降序对其排序,其键按升序对字典进行排序 - python

我的任务是提取字符串中的所有唯一字符(不包括空格),然后根据字符串中给定字符的出现量对它进行排序(以降序排列),如果是领带,则按其ASCII码排序。例:输入:“我是猫”输出:“ aIcmt”我特别面临的问题是,如果我使用以下代码行进行排序:char_list = sorted(char_dict.items(), key = lambda x: (x[1],…

Python C API的常量正确性 - python

似乎Python C API与字符数组的const正确性不一致。例如,PyImport_ImportFrozenModule接受char*,而PyImport_ImportModule接受const char*。所有这些的含义是,在使用嵌入式Python解释器编写的C++应用程序中,有时我必须将传递给Python API调用的字符串文字转换为char*(而不…

Ind版本的Id.CharAt() - java

我正在尝试创建一个包含该人出生年份的后两位数字的用户名,但是它说不能取消引用一个int。 id.charAt()的int版本是什么?这是我的代码的一部分。Scanner by = new Scanner (System.in); System.out.println ("Please enter your birth year:"); i…

Anagrams-如何通过以下两个测试用例 - java

这是我的代码,用于确定两个字符串是否是字谜static boolean isAnagram(String a, String b) { if (a.length() != b.length()) return false; a = a.toLowerCase(); b = b.toLowerCase(); int m1=0; for(int i=0;i<…