
正文
C语言地址传递字符数组,c语言传地址和传值
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言字符串数组指针的传递
如何把一个字符指针指向的字符串复制给字符数组 假如有char *p且p已指向一含有10个元素的字符数组,现有目标数组char b[10],则可以有三种函数可以实现字符串复制。
既然数组型变量名本身只是该数组所占存储空间的首地址,我们当然可以用指针做形参来接收数组实参。
void ex(int a[]){ } 或者可以写成:void ex(int *a){ } 效果是一样的。使用的时候:引用数组中的第2个元素(即下标为1的元素)a[1]或者*(a+1)基本上与数组的正常使用没有区别。
c语言函数中传递字符串,可以分为两种情况,一种是将字符串作为参数,一种是将字符串作为返回值 ,当使用字符串作为返回值时,切记不要传递局部字符数组。
字符串数组就是一个数组,他的每一个元素都是一个字符串。在c语言中字符串是以\0结尾的一串字符,如“abcd1234\0”字符串数组str[2]={abc\0,123\0} \0是结束符。
相关问答
Q1: 怎么把指针的字符串给数组
1、int main(){ char s[]=asdfghjk,b[20];strcpy(b,a); //直接使用字符串拷贝就可以了 coutb;return 0;} 如果是char *b = a的话只是把a和b所指向的内存一样,如果修改了a的值则b的值也会同时进行修改。
2、C语言规定,不能用赋值语句将一个字符串常量或字符数组直接赋值给一个字符数组。要想实现赋值的功能,只能用strcpy()来实现。
3、}int fun(int *p){int i,b,c,d;char j[100];strcpy(j, p);//用memcpy也可以。
Q2: c语言:字符串做为函数参数传递
值传递 void swap(int x,int y){ int temp = x;x = y;y = temp;}void main(){ int a = 10, b = 20;swap(a, b);} 执行后,并不会交换。
c语言函数中传递字符串,可以分为两种情况,一种是将字符串作为参数,一种是将字符串作为返回值 ,当使用字符串作为返回值时,切记不要传递局部字符数组。
不可能达到目的。因为C语言中没有引用这类型,C++才有。另,C/C++都不支持传递数组,只能传递数组的首元素或行指针,所以即使是C++,也只能传递数组指针的引用,而不可能传递数组的引用,因为数组没有引用。
C语言地址传递字符数组的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言传地址和传值、C语言地址传递字符数组的信息别忘了在本站进行查找喔。






