C语言-----内存与指针(3) How 4000 do you pass a string to a function如何给一个函数传入字符串作为参数:
2014-04-18 18:36
435 查看
#include <stdio.h> void printAString(char msg[]){ printf("%s\n",msg); printf("%lu\n",sizeof(msg)); } int main(int argc, const char * argv[]) { // insert code here... printf("%ld\n",sizeof("hello")); char s[]={'h','e','l','l','o'}; char message[]="good"; char * t=message; printAString(s); printAString(message); printAString(t); return 0; }
6 // sizeof("hello") 是6,
hello
8 //为啥后面的都是8
good
8
good
8
为啥是8;为啥没有打印出hello , good各自的长度,这很奇怪。
编译器此时认为msg是一个指针;
相关文章推荐
- 如何将二位数组作为参数传入函数。
- 【C语言】编写一个函数reverse_string(char * string)(递归实现),将参数字符串中的字符反向排列,不能使用C函数库中的字符串操作函数。
- C语言提高-第24/25讲: 数组名【指针】作为函数参数(成绩处理函数版)
- C语言03 - 函数指针、内存分配、字符串使用
- C++指针【数组、字符串作为函数的参数】
- 未分配内存指针作为函数参数问题
- 字符串指针作为函数的参数.实现strcpy()函数
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 指针作为参数传入函数的陷阱
- 二十六、数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数
- C语言 编写一个函数reverse_string(char * string) 实现:将参数字符串中的字符反向排列。
- c++ std::function作为参数传入函数
- 转:C语言中如何将二维数组作为函数的参数传递
- 【C语言】为下面的函数原型编写函数定义: int ascii_to_integer(char *str); 这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 编写一个函数new,对n个字符开辟连续的存储空间,此函数应返回一个指针(地址),指向字符串开始的空间。new(n)表示分配n个字节的内存空间。
- C语言中“指针”作为“函数参数”时的注意事项
- C++语言笔试题目写一个函数计算当参数为n(n很大)时的值 1-2+3-4+5-6+7......+n&字符指针、浮点数指针、以及函数指针占用的内存等
- C++编程入门系列之二十六(数组、指针和字符串:数组的存储与初始化、对象数组、数组作为函数参数)
- c语言_函数指针作为函数参数的使用
- c语言,函数参数如何作为输出