指针指针与数组指针与字符串指针与函数??指针与数组1.数组名:数组元素首地址eg:int array[3]={1,3,6};这里array 恒等于&array[0]2.int *p = a; int *p = 0; int a[]={0};3.int *p = a; 均指向数组的首...
分类:
编程语言 时间:
2014-11-07 22:02:54
阅读次数:
256
主要内容:指针和数组细节,"//"的可移植性说明
#include
int main(int argc, char **argv)
{
int a[10]={1,2,3,4,5,6,7,8,9,0},*p;
#if 0
/*
按移植性来说,在《c语言程序设计--现代方法》指出要用当前注释方法,而不是//
因为一些编译可能不支持
*/
// 错误举例
while(*...
分类:
编程语言 时间:
2014-11-07 19:03:56
阅读次数:
200
使用C语言就必然会使用到指针和数组。看下面的代码:intmain(intargc,char**argv){
inta[4]={1,3,5,7};
int*p=a;
inti;
for(i=0;i<4;i++){
printf("i=%d,p[i]=%d,*(p+i)=%d,a[i]=%d,*(a+i)=%d\n",
i,p[i],*(p+i),a[i],*(a+i));
}
return0;
}似乎二者的用法完全相同,但其实..
分类:
编程语言 时间:
2014-11-06 17:53:37
阅读次数:
199
1、数组指针数组指针,指向数组的指针,本质上是一个指针。如下,该指针指向了一个有4个int类型元素的数组。int (*p)[4];#include int main(){int (*p)[4];int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10}};p=&a[0];int....
分类:
编程语言 时间:
2014-11-03 17:45:12
阅读次数:
127
左值:出现在赋值符左边的符号有时称为左值。
右值:出现在赋值符右边的符号有时称为右值。
编译器为每个变量分配一个地址(左值),这个地址在编译时可知,而且该变量在运行时一直保存于这个地址。相反,存储于变量中的值(它的右值)只有在运行时才可知。如果需要用到变量中存储的值,编译器就发出指令从指定地址读入变量值并将它存于寄存器。
可以看到,每个符号的地址在编译时可知。
对比一下几个式子:
//常...
分类:
编程语言 时间:
2014-10-31 22:17:23
阅读次数:
286
1 #include 2 using namespace std; 3 double calculate(double x ,double y ,double (*pf[3])(double,double)); 4 double add(double x ,double y); 5 double ....
分类:
编程语言 时间:
2014-10-30 16:58:43
阅读次数:
222
一、sizeofsizeof(...)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大校由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大校实际上,用sizeof来返回类型以及静态分配的..
分类:
其他好文 时间:
2014-10-29 19:49:20
阅读次数:
154
代码如下:#include
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
int *ptr = (int *)(&a+1);
int *p1 = a;
int *p2 = &a[0];
int *p3 = (int *)(&a);
if(p1 == p2){
printf("p1 == p2\n");
}else{
pr...
分类:
编程语言 时间:
2014-10-28 00:54:18
阅读次数:
165
数组指针(也称行指针) 定义 int (*p)[n]; ()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。 如要将二维数组赋给一指针,应这样赋值: int a[3][4]; int (*p)[4]...
分类:
编程语言 时间:
2014-10-24 12:17:34
阅读次数:
158
指针数组 && 数组指针
char (*ptr)[5]; //定义一个指向数组指针ptr,指向包含5个char类型的数组
char *a[5]; //定义一个指针数组a,包含5个char*类型指针
#include
int main(void)
{
char *a[5]={"red","white","blue","dark","green"};
print...
分类:
编程语言 时间:
2014-10-21 12:15:22
阅读次数:
182