2 u012168958 u012168958 于 2016.04.08 12:04 提问

C/C++ 指针数组赋值问题

有两个指针数组,char *A[10] , char * B[10];
首先: memcpy(A,B,10);
然后调用一个函数,其形参是一个指针数组,在这个函数里面是用strtok函数对字符串进行分割,比如传入的是A。为什么这个函数执行完了之后,B中保存的数据怎么不是函数执行前的数据呢。
有什么方法能够使执行完函数之后,B中保存的数据还是执行前的数据?

谢谢,,个位大神了!!帮帮忙!

2个回答

CSDNXIAON
CSDNXIAON   2016.04.08 12:11

c/c++语言 指针赋值问题
【C/C++】指针数组
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

qq423399099
qq423399099   Ds   Rxr 2016.04.08 15:05

void *memcpy(void *dest, const void *src, size_t n);
source和destin所指的内存区域可能重叠,不知道楼主是不是这个原因
可以看一下memmove

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
指针数组赋值问题
小学弟的一个问题,不错额 #include void main() { char *ch1[5]; int i; char **p; p=ch1; for(i=0;i<5;i++) scanf("%s",p+i); for(i=0;i<5;i++) printf("%s",*(p+i)); } 指针没有分配空间 c: malloc #include #include int main(
复习指针数组以及如何把二维数组赋值给二维指针
#include #include using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; void listadd(){ int flag = 0; ListNode* pre = new ListNode(0); List
C语言学习笔记(18) 指针数组和数组指针分析
摘要:总结了指针数组和数组指针的定义,以及main函数的入口参数的意义,每一个部分给出一个例子加深理解。 一、三个问题    1.一维数组名代表了数组首元素的地址,二维数组名呢?     我的理解也是的,但是数组首元素的地址。     2.假设数组名为a,那么a和&a的地址值相同,意义不同,那么指向它们的指针类型相同吗?     答案是不同,这一点下面会解释到,因为a和&a的
c/c++(疑4) 指针数组和数组指针之间关系
指针数组和数组指针概述(数组指针(指向数组的指针)与指针数组(存放指针的数组)) 指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称。 数组指针:首先它是一个指针,它指向一个数组。在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道。它是“指向数组的指针”的简称。 认识指针数组和数组指针从内存方面分析
如何初始化一个指针数组
指向数组的指针和存放指针的数组 指向数组的指针:char (*array)[5];含义是一个指向存放5个字符的数组的指针     存放指针的数组: char *array[5];含义是一个数组中存放了5个指向字符型数据的指针 一个是字符的数组  一个是字符型的数据
C语言指针数组(每个元素都是指针)
如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组。指针数组的定义形式一般为: dataType *arrayName[length]; [ ]的优先级高于*,该定义形式应该理解为: dataType *(arrayName[length]); 括号里面说明arrayName是一个数组,包含了length个元素,括号外面说明每个元素的类型为dataType *。
关于“c语言从键盘输入字符串到指针数组”的问题
关于“c语言从键盘输入字符串到指针数组”的问题今天敲了一段代码,遇到了从键盘输入多个字符串到指针数组的问题,在程序执行的时候出现了段错误的提示。本文主要涉及到了以下知识: 数据的存储 数组和指针 1.字符串常量的存储c语言中字符串常量存储在静态数据区,并且有字符串结束符,直到程序运行结束它才会被销毁,所以在程序中我们把一个字符串常量赋值给一个字符指针,如:char *pChar = "Hello W
关于未指针数组赋值的问题
程序代码: #include #include int main() {     int *PArray = NULL;     int Total = 0,i = 0;     printf("输入数组中元素的个数:\n");     scanf("%d",&Total);     PArray=(int *)malloc(Total*sizeof(int)
指针数组、数组指针、二维数组动态分配内存
C 二维数组动态分配和释放 已知第二维 char (*a)[N];//指向数组的指针 a = (char ()[N])malloc(sizeof(char ) * m); printf(“%d\n”, sizeof(a));//4,指针 printf(“%d\n”, sizeof(a[0]));//N,一维数组 free(a); 已知第一维 char* a[M];//指针的数组 in
指向结构体的指针数组,应用
数组指针跟指针数组,差异看起来很小,结果却千差万别: 数组指针: struct param (*p)[100]         p+1 的结果是地址会增大 100个 sizeof(struct param),这种常用来去对二维数组进行位置的索引。 指针数组: struct param *p[100]         这里创建了一个100个struct param 指针的数组, p+1是指向