c语言 指针输出数组

Python012

c语言 指针输出数组,第1张

(*p)[4]是数组指针,每一个指针指向含有4个整形的一维数组;p[1]对于前面的声明来说是指针,而p[1][1]是二维数组,所以不用再加上*取值,若要加上*,

代码中:printf("%4d",p[i][j])

可以这样处理:printf("%4d",*(p[i]+j))

上面的已经分析了原因,中间断断条件有问题,指针越界以后可能不会为null,这时你的判断条件不会终止,所以继续向下执行,导致不确定的后果,最好采用如下形式比较安全:

void

cmdsend(unsigned

int

*

info,

int

len)

{

unsigned

int

k

for

(k

=

0

k

<

len,

k++)

printf("senddata

is

%d\r\n",

*(info+k))

}

其中len代表数据的长度