指针数组如何赋值
答案:2 悬赏:50 手机版
解决时间 2021-12-29 14:11
- 提问者网友:记得曾经
- 2021-12-29 03:39
指针数组如何赋值
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-12-29 05:12
问题一:指针数组之间的赋值问题 *q[k]这个表达式不对,它表示的是*(q[k])。
q[k] 是一个指针,但是它指向哪里?没有初始化一个指针(野指针)就给它赋值,明显会错误。
另外,你这句 *q[k]=*s[k];话应该是想字符串拷贝,应该用strcpy函数。你这样即使q初始化了,拷贝也不会成功。问题二:C语言 如何给字符指针数组赋值 你那样只是定义了5个指针,并没有给每个指针分配相应的内存空间,当然会出错
gets函数的参数是一个字符指针,应该用gets(p[i]);
char *p[5];
char *d;
char p1[5][20];
int i,j;
printf(输入5个城市\n);
for(i=0;i问题三:数组指针赋值 不是,int (*p)[3],是定义一个指向一维数组(大小是3)的指针
所以 p = a = &a[0] = &a[0][0];
*p = p[0] = &a[0][0];
*(p+1) = p[1] = &a[1][0];(*p)[0] = p[0][0] = a[0][0];
(*p)[1] = p[0][1] = a[0][1];问题四:C语言中,如何定义一个‘指针数组’,这个‘指针数组’专门用来存放‘数组指针’。 int *arry[10]; //指针数组
int (*arryp)[10]; //数组指针,因为数组指针指向数组,而数组也可看做是个指针,那数组指针可以理解为一个二 级指针
int a[10];
arryp = &a; //将数组地址个数组指针
arry[0] = *arryp; //arry[0]是一级指针,要将数组指针赋给指针数组,就要取内容,实际就是 arry[0] = a;问题五:怎么向指针数组中赋值 不可以
原因很简单
one,two是存在静态存储区的,这个地址中的值不能被修改。
*(p[1]+1)=getchar();
运行这句,程序应该崩溃
也就是说这种声明:char *p[]={one,two};
是不能修改其中指针指向地址中的值的,只能读取
而
char p[][5]={one,two};
这种声明,变量则是存在栈上的,这时就可以
*(p[1]+1)=getchar();
来修改问题六:C语言怎样给字符数组赋值 char a[7]={0};
可以用strcpy赋值,但是要保证a数组的空间够大,能够放下需要赋值的字符串。
strcpy(a,ddgh);问题七:如何将指针的内容赋给字符数组? memcpy函数 memcpy(data, p, strlen(p));问题八:c语言指针向数组赋值问题 复制函数strcpy
// extern char *strcpy(char* dest, const char *src);strcpy(sc.a, b);问题九:通过指针给数组元素赋值 这样怎么做 #include
void test()
{
char buf[4];
char *p = NULL;
int i=0;
p = &buf[0];
for(i=0;i 问题十:怎么给一个指针赋值 #include
main()
{int *a,b;
//-----------第一种
scanf(%d,&b);
*a=b;
//----------第二种
scanf(%d,*a);
}
q[k] 是一个指针,但是它指向哪里?没有初始化一个指针(野指针)就给它赋值,明显会错误。
另外,你这句 *q[k]=*s[k];话应该是想字符串拷贝,应该用strcpy函数。你这样即使q初始化了,拷贝也不会成功。问题二:C语言 如何给字符指针数组赋值 你那样只是定义了5个指针,并没有给每个指针分配相应的内存空间,当然会出错
gets函数的参数是一个字符指针,应该用gets(p[i]);
char *p[5];
char *d;
char p1[5][20];
int i,j;
printf(输入5个城市\n);
for(i=0;i问题三:数组指针赋值 不是,int (*p)[3],是定义一个指向一维数组(大小是3)的指针
所以 p = a = &a[0] = &a[0][0];
*p = p[0] = &a[0][0];
*(p+1) = p[1] = &a[1][0];(*p)[0] = p[0][0] = a[0][0];
(*p)[1] = p[0][1] = a[0][1];问题四:C语言中,如何定义一个‘指针数组’,这个‘指针数组’专门用来存放‘数组指针’。 int *arry[10]; //指针数组
int (*arryp)[10]; //数组指针,因为数组指针指向数组,而数组也可看做是个指针,那数组指针可以理解为一个二 级指针
int a[10];
arryp = &a; //将数组地址个数组指针
arry[0] = *arryp; //arry[0]是一级指针,要将数组指针赋给指针数组,就要取内容,实际就是 arry[0] = a;问题五:怎么向指针数组中赋值 不可以
原因很简单
one,two是存在静态存储区的,这个地址中的值不能被修改。
*(p[1]+1)=getchar();
运行这句,程序应该崩溃
也就是说这种声明:char *p[]={one,two};
是不能修改其中指针指向地址中的值的,只能读取
而
char p[][5]={one,two};
这种声明,变量则是存在栈上的,这时就可以
*(p[1]+1)=getchar();
来修改问题六:C语言怎样给字符数组赋值 char a[7]={0};
可以用strcpy赋值,但是要保证a数组的空间够大,能够放下需要赋值的字符串。
strcpy(a,ddgh);问题七:如何将指针的内容赋给字符数组? memcpy函数 memcpy(data, p, strlen(p));问题八:c语言指针向数组赋值问题 复制函数strcpy
// extern char *strcpy(char* dest, const char *src);strcpy(sc.a, b);问题九:通过指针给数组元素赋值 这样怎么做 #include
void test()
{
char buf[4];
char *p = NULL;
int i=0;
p = &buf[0];
for(i=0;i 问题十:怎么给一个指针赋值 #include
main()
{int *a,b;
//-----------第一种
scanf(%d,&b);
*a=b;
//----------第二种
scanf(%d,*a);
}
全部回答
- 1楼网友:大漠
- 2021-12-29 06:15
哦,回答的不错
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯