吴裕雄--天生自然C语言开发:指针
#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语言开发:指针的更多相关文章
- 吴裕雄--天生自然C语言开发:函数指针
#include <stdio.h> int max(int x, int y) { return x > y ? x : y; } int main(void) { /* p 是函 ...
- 吴裕雄--天生自然 R语言开发学习:R语言的安装与配置
下载R语言和开发工具RStudio安装包 先安装R
- 吴裕雄--天生自然C语言开发:结构体
struct tag { member-list member-list member-list ... } variable-list ; struct Books { ]; ]; ]; int b ...
- 吴裕雄--天生自然C语言开发:数组
] = {1000.0, 2.0, 3.4, 7.0, 50.0}; ]; #include <stdio.h> int main () { ]; /* n 是一个包含 10 个整数的数组 ...
- 吴裕雄--天生自然C语言开发:函数
return_type function_name( parameter list ) { body of the function } /* 函数返回两个数中较大的那个数 */ int max(in ...
- 吴裕雄--天生自然 R语言开发学习:数据集和数据结构
数据集的概念 数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量.表2-1提供了一个假想的病例数据集. 不同的行业对于数据集的行和列叫法不同.统计学家称它们为观测(observation)和 ...
- 吴裕雄--天生自然 R语言开发学习:模块\包的安装命令
install.packages('模块包名称') 或者 install.packages('模块包名称',repos='http://cran.us.r-project.org')
- 吴裕雄--天生自然 R语言开发学习:集成开发环境\工具RStudio的安装与配置
- 吴裕雄--天生自然C语言开发:错误处理
#include <stdio.h> #include <errno.h> #include <string.h> extern int errno ; int m ...
随机推荐
- POJ 1502:MPI Maelstrom Dijkstra模板题
MPI Maelstrom Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 6499 Accepted: 4036 Des ...
- Springboot前后端分离中,后端拦截器拦截后,前端没有对应的返回码可以判断
项目登录流程如下 用户进入前端登录界面,输入账号密码等,输入完成之后前端发送请求到后端(拦截器不会拦截登录请求),后端验证账号密码等成功之后生成Token并存储到数据库,数据库中包含该Token过期时 ...
- 如何在MySQL目录下找到my.ini
1. 打开ProgramData目录 2. 进入目录C:\ProgramData\MySQL\MySQL Server 8.0
- 新浪sae url rewrite(伪静态、重定向)详解
新浪sae url rewrite(伪静态.重定向)详解 http://www.veryhuo.com phpclubs 2011-11-14 投递稿件 sae全程Sina App Engine,真是 ...
- Django1.11模型类数据库操作
django模型类数据库操作 数据库操作 添加数据 1,创建类对象,属性赋值添加 book= BookInfo(name='jack',pub_date='2010-1-1') book.save() ...
- java笔记——手写+键入
Frame.setDefaultCloseOpreation() Default:默认的 设置默认关闭操作 (0:什么都不干: 1:隐藏窗口: 2:关闭窗口但继续运行程序: 3:关闭窗口关闭程序:) ...
- 使用labelImg制作自己的数据集(VOC2007格式)用于Faster-RCNN训练
https://blog.csdn.net/u011956147/article/details/53239325 https://blog.csdn.net/u011574296/article/d ...
- sublime中设置scala编译运行
Attention: 前提.前提.前提:电脑上安装scala和jdk,可以在cmd中运行scala命令: okay,next: 1.配置内容 在Tools->Build Systems-> ...
- elk常用知识点
1.让文件每次都从头读取: 当有时候需要重新抽取全日志时候,则需要先删除ES上的索引,然后在logstash上input插件配置sincedb_path => "/dev/null&q ...
- JAVA初学者——标识符命名规则及数据类型的转换
Hello!我是浩宇大熊猫~ 直接进入正题吧~ 1)标识符的命名规则. 标识符命名法有小驼峰命名法和大驼峰命名法两种,分别应用于方法.变量和类. 小驼峰命名法应用于方法和变量,主要有两个约定: 1.标 ...