小弟刚刚接触c语言 对于指针之类的不是很了解 希望高手指点

jakky520 2008-09-07 05:05:25
输入参数有何不同,分别能达到什么目的

1、Void showScore(unsigned char C);

2、Void getUsername(unsigned char *C);

3、Void getUsername(unsigned char **C);

第二题
char str[] = “Hello”;

char *p = str ;

int n = 10;

请计算

sizeof (str ) =

sizeof ( p ) =

sizeof ( n ) =

第三题
void Func ( char str[100])

{

请计算

sizeof( str ) =

}
第四题
void *p = malloc( 100 );

请计算

sizeof ( p ) =


还希望达人能够赐教! 在线等





...全文
70 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jakky520 2008-09-07
  • 打赏
  • 举报
回复
谢谢大家了 ,小弟学习了
catamout 2008-09-07
  • 打赏
  • 举报
回复
输入参数有何不同,分别能达到什么目的

1、Void showScore(unsigned char C); //传入一个字符 这个字符的值不会在函数中被改变。

2、Void getUsername(unsigned char *C); //传入一个指针,这个指针C的值不能改变,但可以改变*c的值

3、Void getUsername(unsigned char **C); //可以指向其他字符串,并且改变字符串的值

第二题
char str[] = “Hello”;

char *p = str ;

int n = 10;

请计算

sizeof (str ) = 6

sizeof ( p ) = 4

sizeof ( n ) = 4

第三题
void Func ( char str[100])

{

请计算

sizeof( str ) = 4

}
第四题
void *p = malloc( 100 );

请计算

sizeof ( p ) = 4

cattycat 2008-09-07
  • 打赏
  • 举报
回复
2楼说的好。
指针大小都是4,所以三四题都是4,3需要说明的是数组名做参数传递时当成指针处理。
-----
ps,可以结贴了。
sys0000 2008-09-07
  • 打赏
  • 举报
回复
指针就是一个地址,在32为系统下占4个字节

输入参数有何不同,分别能达到什么目的
1、Void showScore(unsigned char C);// 传入一个字符

2、Void getUsername(unsigned char *C);// 传入一个字符串

3、Void getUsername(unsigned char **C); // 传入一个字符串指针

第二题
char str[] = “Hello”;

char *p = str ;

int n = 10;

请计算

sizeof (str ) = 6 // 数组,包括\0结尾

sizeof ( p ) = 4 // 指针

sizeof ( n ) = 4 // int 在32为系统下占4字节

第三题
void Func ( char str[100])

{

请计算

sizeof( str ) = 4;// str当参数是为一个指针

}
第四题
void *p = malloc( 100 );

请计算

sizeof ( p ) = 4; // p是一个指针
_石头_ 2008-09-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 jakky520 的帖子:]
输入参数有何不同,分别能达到什么目的

1、Void showScore(unsigned char C); // 形参的到实参的值;相当于c=实参

2、Void getUsername(unsigned char *C);//形参的到实参(必须是指针或和是相当于指针的地址)指向的地址;

3、Void getUsername(unsigned char **C);//形参的到实参(必须是二级指针或和是相当于二级指针的地址)指向的地址;

第二题
char str[] = “Hello”;

char *p = str ;//指针p指向数组str的首地址

int n = 10;

请计算

sizeof (str ) =sizeof(str[6])=6

sizeof ( p ) =sizeof(char *)=4

sizeof ( n ) =sizeof(int)=4

第三题
void Func ( char str[100])

{

请计算

sizeof( str ) = sizeof(char *)

}
第四题
void *p = malloc( 100 );

请计算

sizeof ( p ) =sizeof ( char *)



[/Quote]

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧