C和指针
相关基础知识:内存的分配(谭浩强版)
1、整型变量的地址与浮点型/字符型变量的地址区别?(整型变量/浮点型变量的区别是什么)
2、int *p,指向整型数据的指针变量。
3、通过指针变量访问整型变量。
4、*p :指针变量p指向的存储单元(变量)
5、p = &a——>> *p = *&a
6、用指针作函数参数
7、调用函数中,由于虚实结合是采用单向的“值传递”方式,只能从实参向形参传数据,形参值的改变无法回传给实参。
8、引用一个数组元素可以用(1)下标法(2)指针法(占内存小,运行速度快)
9、指针提高效率在那些方面?(内存,运行时间??)
10、如果指针变量p已指向数组中的一个元素,则p+1指向同一数组中的下一个元素。
11、用指针变量作函数形参接受数组地址。数组指针和指针数组的区别
1 #include"iostream"
2 using namespace std;
3 int main()
4 {
5 void sort(int *p,int n);
6 int a[5],i;
7 cout<<"input array:"<<endl;
8 for(i=0;i<5;i++)
9 cin>>a[i];
10 cout<<endl;
11 sort(a,5);
12 cout<<" the sorted array:"<<endl;
13 for(i=0;i<5;i++)
14 cout<<a[i]<<" ";
15 cout<<endl;
16 return 0;
17 }
18
19 void sort(int *p,int n)
20 {
21 int i,j,k,temp;
22 for(i=0;i<n-1;i++)
23 {
24 k=i;
25 for(j=i+1;j<n;j++)
26 if(*(p+j)<*(p+k)) k=j;
27 temp=*(p+k);
28 *(p+k)=*(p+i);
29 *(p+i)=temp;
30 }
31 }
12、一个int占多少个字节?原文链接
13、实参和形参的结合有一下4种形式:
实参 | 形参 |
数组名 | 数组名 |
数组名 | 指针变量 |
指针变量 | 数组名 |
指针变量 | 指针变量 |
14、实参数组名a代表一个固定的地址,或者说是指针常量,因此其值不可改变;形参数组名是指针变量,可以改变。
// a++ //语法错误,不可改变
15、字符串与指针。字符串数组/字符串变量/字符指针 存放字符串。
1 //test_3 指针存放字符串
2 #include<iostream>
3 using namespace std;
4 // #include<string> //字符串变量
5 int main()
6 {
7 char str1[]="I Love C++",str2[20],*p1,*p2;
8 p1=str1;
9 p2=str2;
10 for(;*p1!='