国药准字药品清单:C语言不允许使用一级指针指向二维字符数组吗?为什么?

来源:百度文库 编辑:高校问答 时间:2024/04/29 00:13:04
如果指了,会怎么样?

在C中,任何指针都是可以通过强制类型转换赋值给另一个的, 不过后果就未定义了~。
比如楼上的p指向了str,那么*p就应该是*str[0]的内容。

在C中,任何指针都是可以通过强制类型转换赋值给另一个的, 不过后果就未定义了~。
比如楼上的p指向了str,那么*p就应该是*str[0]的内容。

p本来就是指向str[]的首地址。数组的内存是连续分配的。如果想操作str[]中的其他元素,直接使用位运算就完了。

可以用一级指针指向二维字符数组
首先,数组名就是地址,你把地址赋给一个指针当然没问题了.如
char str[10][20];
char *p=str;

可以使用,不过未必是你要的结果。