关于C/C++的指针
2008-07-30 21:27
232 查看
1. 数组和指针作为函数的参数的注意点:将数组作为参数的时候,会被转化成指针,例子如下:
#include <iostream>
using namespace std;
char fo[] = "foliage";
void my_arr_func(char foliage[10])
{
cout << "address of array param is : " << &foliage << endl;
}
void my_pointer_func(char* foliage)
{
cout << "address of pointer param is : " << &foliage << endl;
}
int main()
{
cout << "address of array param is : " << &fo << endl;
my_arr_func(fo);
my_pointer_func(fo);
system("PAUSE");
return 0;
}
2.区别下面代码:
(来自C专家编程)
func(int arr[])
{
arr[1] = 3;
*arr = 3;
arr = arr2;
}
----------------------
int array[100],array2[100];
main()
{
array[1] = 3;
*arr = 3;
array = array2; /*failed*/
}
#include <iostream>
using namespace std;
char fo[] = "foliage";
void my_arr_func(char foliage[10])
{
cout << "address of array param is : " << &foliage << endl;
}
void my_pointer_func(char* foliage)
{
cout << "address of pointer param is : " << &foliage << endl;
}
int main()
{
cout << "address of array param is : " << &fo << endl;
my_arr_func(fo);
my_pointer_func(fo);
system("PAUSE");
return 0;
}
2.区别下面代码:
(来自C专家编程)
func(int arr[])
{
arr[1] = 3;
*arr = 3;
arr = arr2;
}
----------------------
int array[100],array2[100];
main()
{
array[1] = 3;
*arr = 3;
array = array2; /*failed*/
}
相关文章推荐
- 关于C++中函数指针的使用
- 关于c++中const和指针结合的使用
- C++学习笔记---关于指针
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
- 转载:关于C++指针
- C++关于父类指针指向子类对象的问题
- 一劳永逸:关于C/C++中指针、数组与函数复合定义形式的直观解释
- C++ 中关于指针入门的最好的文章
- 关于LinuxC/C++中字符指针char * str 与字符数组 char str []的一点小区别
- 关于C++中的指针、数组
- 一劳永逸:关于C/C++中指针、数组与函数复合定义形式的直观解释
- 关于C以及C++中指针的深入理解
- 关于C++指针
- 一图总结C++中关于指针的那些事
- C++ 第九章 关于类和对象的进一步讨论(二)const的用法和指针数据成员
- C/C++中关于地址、指针和引用变量的学习笔记(一)
- C/C++中关于地址、指针和引用变量的学习笔记(四) : 函数
- 关于C++基类、派生类的引用和指针(动态绑定和静态绑定)
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
- C++ 关于在一个类中定义另一个类的指针与对象