C语言引用专递的问题
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void test(char * str)
{
str="sdfsdfsd";
}
int main(void )
{
char str[256]="aaaaa";
test(str);
printf("%s\n",str);
return EXIT_SUCCESS;
}
该段代码输出的是:aaaaaa
为什么输出不是:sdfsdfsd
在C语言里传递数组是传递数组的引用
如果修改引用里面的值那么数组实际的值也应该被修改
那么为什么在这里不修改str的值呢?