社区
C语言
帖子详情
怎么样才能给一个指针数组中的所有指针都初始化为0??
syp8065
2002-12-12 10:41:05
怎么样才能给一个指针数组中的所有指针都初始化为0呢??这样做,为什么不行??错在哪里??有谁能帮帮我??
定义两个变量ai ,aj 。
if(ai = 0;ai<M;ai++)
{
if(aj=0;aj<N;aj++)
{
pNode[ai][aj] ;
}/*初始化*/
}
...全文
936
11
打赏
收藏
怎么样才能给一个指针数组中的所有指针都初始化为0??
怎么样才能给一个指针数组中的所有指针都初始化为0呢??这样做,为什么不行??错在哪里??有谁能帮帮我?? 定义两个变量ai ,aj 。 if(ai = 0;ai<M;ai++) { if(aj=0;aj<N;aj++) { pNode[ai][aj] ; }/*初始化*/ }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
earnest810
2002-12-12
打赏
举报
回复
二维浮点数数组的输入
二维浮点数数组的输入(即:通过键盘给二维浮点数数组赋值)在很多专业书中都没有详细讲过这个问题。在给二维浮点数数组赋值时一定要先声明一个变量,接着把数值赋予这个变量,最后把变量数值赋予二维浮点数数组赋值。实例如下: # include "stdio.h"
main()
{
float a[2][3],x ;
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{scanf("%f",&x);
a[i][j]=x;}
}
不能写成:
# include "stdio.h"
main()
{
float a[2][3] ;
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
}
同样道理,在结构性浮点数组变量中也一定要按照这种格式输入。实例如下:
# include "stdio.h"
struct student
{float b[3];
int x;
}a[2];
main()
{
float x ;
int i,j;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
{scanf("%f",&x);
a[i].b[j]=x;}
}
amoliyulun
2002-12-12
打赏
举报
回复
不对,你定义的是CHAR型的二维数组,为什么要这样计算,你的数组已经为NULL了,你应该知道你的数组的每一项都是链表吗,不然为什么要用指针数组,可以考虑一下
syp8065
2002-12-12
打赏
举报
回复
一个指针数组当中的每一个指针,都占用4个字节么??#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "malloc.h"
#include "iostream.h"
main()
{
char *pNode[10][10];
int ai,aj,c;
c=sizeof(pNode[0][1]);
for(ai=0;ai<10;ai++)
for(aj=0;aj<10;aj++)
pNode[ai][aj]=NULL;
for(ai=0;ai<10;ai++)
for(aj=0;aj<10;aj++)
printf("the value is :%d\n",&pNode[ai][aj]);
printf("the size is %d\n",c);
}
例如这样的程序。对么??
zxm954712
2002-12-12
打赏
举报
回复
0x00表示'\0',是对字符串初始化为\0.
syp8065
2002-12-12
打赏
举报
回复
在MSDN上,这个函数的意思不是说,向buffer中写入连续的4个*么??
memset( buffer, '*', 4 );
那么为什么要memset(a[i], 0x00, 10)??
这不是相当于写入了10个00么??
program2100
2002-12-12
打赏
举报
回复
同意2樓的
syp8065
2002-12-12
打赏
举报
回复
if(ai = 0;ai<M;ai++)
{
if(aj=0;aj<N;aj++)
{
pNode[ai][aj]=null ;
}/*初始化*/
}
我写错了~~应该是这样的~~但是仍然不好用~~?为什么??
在初始化的时候,指针不是应该为0的么??
zxm954712
2002-12-12
打赏
举报
回复
for example:
char *a[10];
int i;
for(i=0; i<10; i++)
{
a[i] = (char*)malloc(10);
memset(a[i], 0x00, 10);
}
rvvd
2002-12-12
打赏
举报
回复
你要把指针数组的每一个参数都初始化为0
如:
for(ai=0;ai<M:ai++)
for(aj=0;aj<M;aj++)
pNode[ai][aj]=NULL;
binbin
2002-12-12
打赏
举报
回复
可以用memset,数组是连续内存,可以整个内存区清0
syp8065
2002-12-12
打赏
举报
回复
我在定义一个指针数组的时候,能不能用用值传递的方式,来定一个数组的大小?
比如:
int m,int n;
int *p[m][n];
这样能行么??怎么样才能定义一个我希望大小的数组??
C语言
70,024
社区成员
243,253
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章