99问答网
所有问题
当前搜索:
什么是指针函数
C语言
指针
做
函数
参数 的优点
答:
} void main(){ int a=5;modify(a);printf("%d",a);} 这个程序的答案还是5。为
什么
?因为当调用modify(a)时,在执行modify
函数
时,是另外开辟了一个内存空间,将main中a的值复制过来,modify函数中所有的操作都是相对于这个新开辟的内存空间而言的,对原来的a没有任何改变。现在就来说说
指针
,...
C语言 写一个
函数
交换两个数的值,为
什么
一定要用
指针
?
答:
main中调用fun1()时,将实参a,b的值传递给了交换
函数
,如果此时在swap1中打印,可以看到结果是正确的,但是该过程其实是将aa和bb分别复制了一份给了函数,执行完fun1()之后,aa和bb的值没有任何变化。fun2(),看似的确使用了
指针
,但还是失败,因为这里是将aa和bb的地址给交换了,而并没有交换...
请教C语言
指针
问题,本人智商不够
答:
看本尊指导你:(char*) 是强制类型转换的意思,就是把变量a 强制转换成 char类型的
指针
,而不用在乎a本身是
什么
类型。这就是区别。char * a 就是定义一个char 类型的指针变量,名字为a。a(int) 可以作为一个
函数
的声明,这个函数的返回值为 int* (i在C中,没有声明的变量类型都为int类型)...
int **p和int *p有
什么
区别
答:
int *p表示的是一级
指针
,表示p所指向的地址里面存放的是一个int类型的值。int **p表示的是二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针。一级指针存放变量的地址,指向的值是变量的内容。如int* p={1,2,3}, p=数组的首地址,*p=数组的第一个值;二级指针存放一级指针的...
C语言中调用
函数指针
占用哪里的存储空间,被调函数运行时内部变量存在...
答:
函数指针
指向一个函数的入口地址,也就
是函数
存储空间的首地址。在C语言中,数组名代表数组的首地址,同样函数名代表了函数的首地址,因此在赋值时,直接将函数指针指向函数名就行了。因此函数指针调用vs直接调用,占用的存储空间都是一样的。相当于数组指针和数组名的关系,指向的都是同一个数组。局部...
C语言(*p)()和*f()和f()怎么理解,区别是
什么
答:
int (*p)() p是一个
函数指针
,所指向的函数返回一个整形 int *f() f是一个函数,返回一个整形指针 int f() f是一个函数,返回一个整形 int (*p)() p是一个 函数指针,所指向的函数返回一个整形int *f() f是一个函数,返回一个整形指针int f() f是一个函数,返回一个整形 ...
C语言怎么让一个
函数
返回
指针
答:
这种方式叫做“用指针函数*creat()的返回值来传递动态内存”,这是一个C语法 首先你要注意,子函数*creat()用了malloc动态申请内存,而return返回的是指针变量所指向的地址,而不是指针!相当于将你所申请的动态内存返回给主函数 int *fun(void)//这里
是指针函数
{ int *p = (int *) malloc ...
C语言
函数指针
答:
补充:编译器不过是把你写的代码转换成可执行代码的一个工具而已,其实你自己也可以写一个很简单的编译器:compiler(char* source_code){ if ( ( strcmp( source_code , "(*p)()" ) == 0) || ( strcmp( source_code , "p()" ) == 0) ){ 从符号表查出p对应的
函数指针
,把指针地址...
[c]一个关于
指针
和
函数
的问题
答:
如果严格按照C标准来看,这个程序是有问题的,
函数
inverp并没有声明具有何种类型的返回值,但函数体内部却出现了返回值的语句return 0;这样的程序之所以还能运行,是因为过去还未标准化的C,如果一个函数没有声明具有返回值或者返回类型,默认的返回值类型是int,现在的编译器由于考虑到让那些年久的代码...
C语言 写一个
函数
交换两个数的值,为
什么
一定要用
指针
?
答:
main中调用fun1()时,将实参a,b的值传递给了交换
函数
,如果此时在swap1中打印,可以看到结果是正确的,但是该过程其实是将aa和bb分别复制了一份给了函数,执行完fun1()之后,aa和bb的值没有任何变化。fun2(),看似的确使用了
指针
,但还是失败,因为这里是将aa和bb的地址给交换了,而并没有交换...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜