大家好,今天小编关注到一个比较有意思的话题,就是关于c语言字符数组指针数组的问题,于是小编就整理了2个c语言字符数组指针数组的解答,让我们一起看看吧。
C/C++关于指向指针的指针为什么可以用数组表示?
因为数组名就是指针常量,所有语法都是一样的 inta[10]; int*p=a; a[0]=12; p[1]=34; *(a+2)=56; *(p+3)=78; 唯一的区别是,定义数组同时会分配内存,指针使用前要赋值
指针参数与数组参数的关系?
C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。
数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。
指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。
当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
所以:
char a[] = "hello world";
char *p = a;
cout<< sizeof(a) << endl; // 12字节
cout<< sizeof(p) << endl; // 4字节
void Func(char a[100])
到此,以上就是小编对于c语言字符数组指针数组的问题就介绍到这了,希望介绍关于c语言字符数组指针数组的2点解答对大家有用。