source: SHX/trunk/sandbox/floatarray.c @ 130

Revision 130, 623 bytes checked in by marcus, 11 years ago (diff)
  • some pointer arithmetic tests
Line 
1/*
2 * gcc -shared -o floatarray.so floatarray.c
3 */
4
5#include <stdio.h>
6#define LENGTH 10
7
8static float data[LENGTH];
9
10void *getdata() {
11    //printf("getdata %p\n", &data);
12    return &data;
13}
14
15void display() {
16    int i;
17    void *y;
18    float *x;
19
20    y = getdata();
21    printf("%p\n", y);
22
23    /* cast to float pointer */
24    x = (float *)y;
25
26    for (i=0; i<LENGTH; i++) {
27        //~ printf("%.2f\n", *(float *)(y + i*sizeof(float)));
28        printf("%.2f\n", *x++);
29    }
30}
31
32void init() {
33    int i;
34
35    for (i=0;i<LENGTH;data[i++]=i*1.11) {}
36
37    printf("%p\n", data);
38}
39
40int main() {
41    init();
42    display();
43}
Note: See TracBrowser for help on using the repository browser.