C语言知识点及细节

来源:互联网 发布:javascript 注销事件 编辑:程序博客网 时间:2024/05/16 07:09
1.二维数组每一个元素都返回一个指针 
指针数组表示方法:
&a:


a:数组第0行的首地址


a[0],*(a+0),*a:数组第0行0列元素的地址


a+1,&a[1]:数组第1行的首地址


a[1],*(a+1):数组第1行0列元素的地址


a[1]+2,*(a+1)+2,&a[1][2]:数组第一行第2列元素的地址


*(a[1]+2),*(*(a+1)+2),a[1][2]:取数组第一行第2列元素的值


注意!不要把&a[i]简单的理解为a[i]的物理地址,因为并不存在a[i]这个变量。它只是一种地址的计算方法,能得到第i行的地址。&a[i]和a[i]的值是一样的,但它的含义却不同。 &a[i]或a+i指向行,而a[i]或*(a+i)指向列。当下标j=0时,&a[i]和a[i]+j的值相等。*(a+i)只是a[i]的另一种表示形式。在二维数组中,a+i=a[i]=*(a+i)=&a[i]=&a[i][0]即它们的地址值是相等的。 




2.关于Linux gcc编译完 要注意命令行之间参数要加空格


3.atoi 把地址内容转换成整形


4.int(*p)() 指向函数的指针 该函数返回值是整型量即函数指针。
  int *p() 函数指向一个指针 该指针的返回值是整形量即指针函数。
原创粉丝点击