不可以。指针b指向的是数组a的首地址,数组a的内存空间大小已经被确定为100个字符大小。指针b只是指向了这个数组,但并没有改变数组a的内存空间大小。如果想裁剪a的多余内存空间,可以使用realloc函数重新分配内存空间。例如:

char* b = (char*)realloc(a, strlen(a) + 1); // +1是为了给字符串结尾的'\0'留出空间

这样就可以把a的多余内存空间裁剪掉,并把新的内存空间地址赋值给指针b。

char a100 = 123;char b = a;这样操作可以裁剪a的多余内存空间并赋值给b吗

原文地址: https://www.cveoy.top/t/topic/dtAt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录