这是有声音的视频,请检查播放器或者声音输出设备。

这次学习的内容:指针(指针变量,指针的指针,指针作为参数,返回指针的函数,指向函数的指针)

//=====================================
指针变量

#include <stdio.h>

main()
{
int *p , a ;

a=100;

p = &a;

printf( "%d \n", a );
printf( "%d \n", *p );
}

//====================================
指向指针的指针

#include <stdio.h>

main()
{
int a, *p, **q;

a=100;

p = &a;

printf( "%d  \n", a );
printf( "%d  \n", *p );

q = &p;

printf( "%d ,%d \n", *p, **q );
}

//===================================
指针作为函数的参数(传地址)

#include <stdio.h>

test( int *pa )
{
*pa = 200;
}

main()
{
int *p , a=100;

p = &a;

test( p );

printf( "%d \n", a );
}

//==============================================
返回指针的函数, 函数返回一个指针类型,也就是一个地址

#include <stdio.h>

int temp;

main()
{
int a=100, *p;
int *test();
p = test( a );    // 返回一个指针型的值
printf( "test=%d \n", *p );
}

int *test( int x)
{
temp = x;

return &temp;
}

[17rumen@localhost ~]$ gcc c_10.c
c_10.c: In function ‘test’:
c_10.c:13: warning: function returns address of local variable

//============================================
指向函数的指针 , 指针是指向函数的首地址, 该指针可以访问这个函数

#include <stdio.h>

main()
{
int a=100, result;
int test();
int (*p)();

p = test;        // 指针是指向函数的首地址
result = (*p)(a);    // 用指针调用函数

// result = test(a);

printf( "result=%d \n", result );
}

int test( int x)
{
return x;
}

视频就到这里, 新接触的内容比较多,不过理解了, 变量在内存存储的形式,就容易了。

最好就是可以看到指针代码,就想象得出, 变量和指针在内存存储的情况。88


“linux_C语言_10_01 指针(指针变量,指针的指针,指针参数,返回指针的函数,指向函数的指针)”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。