#include <stdio.h>

int main ()
{
int var1;
char var2[]; printf("var1 变量的地址: %p\n", &var1 );
printf("var2 变量的地址: %p\n", &var2 ); return ;
}
#include <stdio.h>

int main ()
{
int var = ; /* 实际变量的声明 */
int *ip; /* 指针变量的声明 */ ip = &var; /* 在指针变量中存储 var 的地址 */ printf("Address of var variable: %p\n", &var ); /* 在指针变量中存储的地址 */
printf("Address stored in ip variable: %p\n", ip ); /* 使用指针访问值 */
printf("Value of *ip variable: %d\n", *ip ); return ;
}

#include <stdio.h>

int main ()
{
int *ptr = NULL; printf("ptr 的地址是 %p\n", ptr ); return ;
}
#include <stdio.h>

const int MAX = ;

int main ()
{
int var[] = {, , };
int i, *ptr; /* 指针中的数组地址 */
ptr = var;
for ( i = ; i < MAX; i++)
{ printf("存储地址:var[%d] = %x\n", i, ptr );
printf("存储值:var[%d] = %d\n", i, *ptr ); /* 移动到下一个位置 */
ptr++;
}
return ;
}
#include <stdio.h>

const int MAX = ;

int main ()
{
int var[] = {, , };
int i, *ptr; /* 指针中最后一个元素的地址 */
ptr = &var[MAX-];
for ( i = MAX; i > ; i--)
{ printf("存储地址:var[%d] = %x\n", i-, ptr );
printf("存储值:var[%d] = %d\n", i-, *ptr ); /* 移动到下一个位置 */
ptr--;
}
return ;
}
#include <stdio.h>

const int MAX = ;

int main ()
{
int var[] = {, , };
int i, *ptr; /* 指针中第一个元素的地址 */
ptr = var;
i = ;
while ( ptr <= &var[MAX - ] )
{ printf("Address of var[%d] = %x\n", i, ptr );
printf("Value of var[%d] = %d\n", i, *ptr ); /* 指向上一个位置 */
ptr++;
i++;
}
return ;
}
#include <stdio.h>

int main ()
{
int var;
int *ptr;
int **pptr; var = ; /* 获取 var 的地址 */
ptr = &var; /* 使用运算符 & 获取 ptr 的地址 */
pptr = &ptr; /* 使用 pptr 获取值 */
printf("Value of var = %d\n", var );
printf("Value available at *ptr = %d\n", *ptr );
printf("Value available at **pptr = %d\n", **pptr); return ;
}
#include <stdio.h>
#include <time.h> void getSeconds(unsigned long *par); int main ()
{
unsigned long sec; getSeconds( &sec ); /* 输出实际值 */
printf("Number of seconds: %ld\n", sec ); return ;
} void getSeconds(unsigned long *par)
{
/* 获取当前的秒数 */
*par = time( NULL );
return;
}
#include <stdio.h>

/* 函数声明 */
double getAverage(int *arr, int size); int main ()
{
/* 带有 5 个元素的整型数组 */
int balance[] = {, , , , };
double avg; /* 传递一个指向数组的指针作为参数 */
avg = getAverage( balance, ) ; /* 输出返回值 */
printf("Average value is: %f\n", avg ); return ;
} double getAverage(int *arr, int size)
{
int i, sum = ;
double avg; for (i = ; i < size; ++i)
{
sum += arr[i];
} avg = (double)sum / size; return avg;
}
#include <stdio.h>
#include <time.h>
#include <stdlib.h> /* 要生成和返回随机数的函数 */
int * getRandom( )
{
static int r[];
int i; /* 设置种子 */
srand( (unsigned)time( NULL ) );
for ( i = ; i < ; ++i)
{
r[i] = rand();
printf("%d\n", r[i] );
} return r;
} /* 要调用上面定义函数的主函数 */
int main ()
{
/* 一个指向整数的指针 */
int *p;
int i; p = getRandom();
for ( i = ; i < ; i++ )
{
printf("*(p + [%d]) : %d\n", i, *(p + i) );
} return ;
}

吴裕雄--天生自然C语言开发:指针的更多相关文章

  1. 吴裕雄--天生自然C语言开发:函数指针

    #include <stdio.h> int max(int x, int y) { return x > y ? x : y; } int main(void) { /* p 是函 ...

  2. 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置

    下载R语言和开发工具RStudio安装包 先安装R

  3. 吴裕雄--天生自然C语言开发:结构体

    struct tag { member-list member-list member-list ... } variable-list ; struct Books { ]; ]; ]; int b ...

  4. 吴裕雄--天生自然C语言开发:数组

    ] = {1000.0, 2.0, 3.4, 7.0, 50.0}; ]; #include <stdio.h> int main () { ]; /* n 是一个包含 10 个整数的数组 ...

  5. 吴裕雄--天生自然C语言开发:函数

    return_type function_name( parameter list ) { body of the function } /* 函数返回两个数中较大的那个数 */ int max(in ...

  6. 吴裕雄--天生自然 R语言开发学习:数据集和数据结构

    数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...

  7. 吴裕雄--天生自然 R语言开发学习:模块\包的安装命令

    install.packages('模块包名称') 或者 install.packages('模块包名称',repos='http://cran.us.r-project.org')

  8. 吴裕雄--天生自然 R语言开发学习:集成开发环境\工具RStudio的安装与配置

  9. 吴裕雄--天生自然C语言开发:错误处理

    #include <stdio.h> #include <errno.h> #include <string.h> extern int errno ; int m ...

随机推荐

  1. python刷LeetCode:9. 回文数

    难度等级:简单 题目描述: 判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121输出: true示例 2: 输入: -121输出: fa ...

  2. linux常用命令之------文件操作、文件查看、权限、打包压缩

    1.一般公司把linux作为自己的应用服务器,将应用和服务器部署在上面 2.测试一般用来打包.压缩.查日志,写一个简单的shell 获得linux服务器的方式 a:网上租一台云服务器 b:安装vmwa ...

  3. POJ 2362:Square 觉得这才算深度搜索

    Square Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 21821   Accepted: 7624 Descripti ...

  4. JZOJ823PJ-C, TG-B

    分身打两场比赛 PJ - C 翻车 T1 原题, 考虑蚂蚁相撞时其实不用管. 然后写个取左右max, 左右min的即可 翻车: 注释freopen后JZOJ不会提示!(大翻车--丢了300分) T2 ...

  5. Arduino Wireless Communication – NRF24L01 Tutorial(arduino无线通信---NRF24L01教程)

    arduino下nrf24l01库文件及相关说明 库的说明文档 https://tmrh20.github.io/RF24/ 库的源代码github下载页面 https://tmrh20.github ...

  6. mysql 杂

    mysql> show create table  table_name|view_name \G; 可以查看是视图还是表      \G 放到sql语句后,可以使每个字段打印到单独的行 1 I ...

  7. django 过滤器-查询集-比较运算符-FQ对象-mysql的命令窗口

    """ 返回查询集的方法称为过滤器 all() 返回查询集中所有数据 filter() 返回符合条件的数据 一.filter(键=值) 二.filter(键=值,键=值) ...

  8. 编写注册表.reg文件

    Windows 中的注册表文件( system.dat 和 user.dat )是 Windows 的核心数据库,因此,对 Windows 来说是非常重要的. 通过修改注册表文件中的数据,可以达到优化 ...

  9. JavaEE--使用百度echarts实现地图报表

    参考:http://echarts.baidu.com/option.html#title https://www.cnblogs.com/zhangyong123/p/4974554.html ht ...

  10. 关于自动化打包部署Jenkins的使用和配置

    (未写完整,待续...) 名词解释: 1.Jenkins中对svn进行操作,可通过插件和脚本两种方式进行. 插件方式 在插件管理中安装"Subversion Plug-in",即可 ...