-
………童鞋:你搞砸了你的指针。
首先,填充功能确实设置了您分配给它的所有空间'\0',但指针 p 不再指向您分配的空间,而是指向内存中“堆”的顶部; 然后,func 2 再次将其向上移动,按 num 位和字节移动它,此时它指向 **? 反正不是你想要的地方。 将它指向的内存设置为'\0',则 strlen 应该得到 0,后面跟着 blank 将没有任何输出。
但是你得到的是 20,这表明分配不成功,应该有内存写入错误。
你得到 20 = 1 = 1 = 乱码,乱码是这 20 个字节的结果。
建议你不要再用cfree4了,5有,4一点都不好。
-
我看不出有什么问题,最大值是多少?
-
strcpy(orgarray ->visibleflag, null);
从语法上讲,本身没有语法错误。
但 100% 是有问题的。
您正在尝试读出内存空地址的值。
如果你想让 orgarray ->visibleflag 指向 null,这是不可能的,visibleflag 是一个数组,数组名称不是可修改的左值。
如果是指针,则直接 ptr=null;
-
实现你的想法并不难,只需指针,这是我写的一个测试用例:
级别:无效的 func(*p)。
main() 其他。
返回 0}
-
strcpy 的 2 个参数是指针类型,用于更改指针指向的空间内容。
strcpy(orgarray ->visibleflag, null);此语句的第二个参数肯定是无效的,它等价于查找空指针指向的内存。
strcpy(orgarray ->visibleflag, null);你想通过写这篇文章达到什么效果?
如果你只想更改 orgarray ->visibleflag 的值,那就错了,因为 orgarray ->visibleflag 是常量。
如果要清除字符串,orgarray ->visibleflag[0] = 0; (orgarray ->visibleflag[0] = '\0';只需将第一个字符标记为结束字符即可。
-
只需分配一个值 0 并尝试一下。
-
你没有指向地址的指针变量 l,它是一个狂野的指针,可能指向一些不可读或可存储的内存空间,并且你 l->length=100; 当然,改变存储在这个内存空间中的值,他错了。
主要功能更改:
int main()
sqlist *l=&llist;设 l 指向 llist 所在的内存空间。
l->length=100;}
-
你只是声明,你没有去新的sqlist,你怎么能使用它?
int i;
sqlist *l;
l = new sqlist;
l->length=100;
-
它一定是错的,l 是一个指针,你不让它指向某个地方并为它赋值,它怎么能工作? 它可以是这样的:
sqlist *l = new sqlist();只需为 L 所指的地方分配一个空间即可。
-
你这样写没有错误,我在 c-free 上试过,它打印出来为 100
-
你的 p1 指针没有初始化,即你的 p1 指针没有指向某个字符数组,你给它所指向的内存单元分配了一个值,这肯定会在运行时导致你的上述错误,所以你应该做以下操作:
char b[100];定义一个字符数组 bp1=b;
在第二个 for 循环之前,您还需要使指针 p1 重新指向字符数组 b 的第一个元素的地址,即 p=b;
if(p1+i != p1+m-1-i)这个判断条件也是错误的,p1是指针,指针是地址,而不是指针所指向的内存单元的值,你是在比较地址值是否相等,当然不相等,应该改为:
if(*(p1+i) != *(p1+m-1-i))这是指针指向的内存单元值的比较。
-
**复制起来,你就得玩**麻烦看图片了。
-
char hello;
strcpy(hell0,"中国你好世界");
你误会了,我刚才用了100,只是我估计它够大了,跟你后来计算字符长度没有关系,因为是自动补充的。'\0'目标。 现在不要定义长度,这样你就可以理解了。
-
hello 只是一个指针变量,不会产生任何动态差异。
hello = "中国你好世界";这样,在赋值的时候,hello指向一个内存块,具体的常量存储也不知道。它似乎是在编译时分配的,全局存储。
hello = "_fgfdgdf" ;此赋值与上面相同,没有任何动态内容,只是指针变量更改为指向新内存。
指针变量实际上是一个变量,就像 int a, a = 10, a = 20 一样。 只是它所指向的记忆存在差异。
free(hello);这是错误的,hello 只是一个指针,它指向的内存没有分配在堆上。
-
指针必须是常量,并且有许多编译器尚不支持可变长度数组。
-
为什么您的指针没有创建内存 野生指针当前出错。
-
将后意函数中的 *p 更改为 *&p。
-
p是什么东西? 只有 int*p 的开头; ,函数是直接调用的?
第一个 awhile(leap) 条件是 leap 是否为 true(如果 leap 不是 0,则为 true,如果为 0,则为 false)。 >>>More