[数据结构有关字符串的面试题求解答]建一张hash表,记录a-z 26个字母的出现次数 char table[ 26 ] ; 第一题,假设第一个字符串为s1,第2个字符串为s2 for( i = 0 ; i table[ i ] = 0 ; for( i = 0 ; i table[ s1[i]...+阅读
str是个字符指针,也可以表示为字符数组或者字符串,str = &a;表示str指向的地方只能存下一个字符。
strcpy(str, “hello”);
肯定放不下hello啊,所以会有内存错误
如果你不相信,你把hello换成空串""试试,因为空串占用1字节,str指向的地方能放下。
如果你想知道更多,那么试试下面的这段程序:
#include
#include
void main(void) {
int a;
char *str = (char *) &a;
strcpy(str, "abc");
printf(str);
}这段之所可以是因为int类型占4个字节,"abc"也占4个,能放下,"abcd"就不行。
懂了吗?