小编Aka*_*ash的帖子

C指针指针

是否

int **p 
Run Code Online (Sandbox Code Playgroud)

int *p[1]
Run Code Online (Sandbox Code Playgroud)

意思是一样的吗?因为两者都可以传递给允许更改指针对象的函数,也可以通过p [0],*p来访问它们.

更新,感谢您的帮助,艰难的内存管理似乎有所不同.访问机制是否保持不变

*例如:p [0]变成*(p + 0)&*p(都指向某个东西)

谢谢

c

2
推荐指数
1
解决办法
497
查看次数

循环中的指针递增,解除引用和比较

难道这两个意思不一样,首先得到价值再增加?

for ( ; *s == *t; s++, t++)

for ( ; *s++ == *t++;)
Run Code Online (Sandbox Code Playgroud)

c

2
推荐指数
1
解决办法
152
查看次数

页面锁定与表锁定Oracle

Oracle中的pg和表锁之间是否存在差异?

是否

select * from emp for update;
Run Code Online (Sandbox Code Playgroud)

表锁定结果?

select * from emp where deptno=10 for update;
Run Code Online (Sandbox Code Playgroud)

导致页面锁定?

oracle

2
推荐指数
1
解决办法
1493
查看次数

选择开始日期和结束日期之间的日期行

timestampz在postgresql表中有一个列,我希望检索位于特定时间范围内的条目

我试过用

SELECT * FROM table where date BETWEEN '2012-01-01' AND '2012-01-05'
Run Code Online (Sandbox Code Playgroud)

但是上面的查询无法检索到指定日期内的某些行,所以我尝试了这样的事情

SELECT * FROM table WHERE date BETWEEN '2012-01-01 00:00:00' AND '2012-01-05 23:59:59'
Run Code Online (Sandbox Code Playgroud)

这很好,但有没有更好的方法来激活它?

sql database postgresql

2
推荐指数
2
解决办法
874
查看次数

返回指向结构的指针

我在Kernighan&Ritchie的"C编程语言"中找到了一个返回结构的例子.

/* binsearch: find word in tab[0]...tab[n-1] */
struct key *binsearch(char *word, struct key *tab, int n)
{
    int cond;
    struct key *low = &tab[0];
    struct key *high = &tab[n];
    struct key *mid;

    while (low < high) {
        mid = low + (high-low) / 2;
        if ((cond = strcmp(word, mid->word)) < 0)
            high = mid;
        else if (cond > 0)
            low = mid + 1;
        else
            return mid;
    }

    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

看来该函数正在返回一个指向函数中局部变量的指针; 这不是一个返回悬空指针的情况吗?

c kernighan-and-ritchie

1
推荐指数
1
解决办法
216
查看次数

指向结构递增的指针

正在C中实现一个单一的链表.

struct node
{
    int data;
    struct node *next;
};

struct list_el {
   int val;
   struct list_el * next;
};

typedef struct list_el item;

    void main() {
       item * curr, * head,*track;
       int i;
       head = NULL;
       for(i=1;i<=10;i++) {
          curr = (item *)malloc(sizeof(item));
          curr->val = i;
          curr->next=0;
          if(head!=NULL)
          head->next  = curr;
          head = curr;
       }
       curr = curr-10;

       while(curr) {
          printf("%d\n", curr->val);
          curr = curr->next ;
       }
    }
Run Code Online (Sandbox Code Playgroud)

由于列表中有10个元素,所以为了使指针指向第一个元素,我尝试将curr(指向struct的指针)减少10,但这让我在列表的一半,打印的值是5,6,7,8,9,10.

结构的大小是4,而指针的大小是2,似乎指针减少2*10 = 20个字节而不是40,这是正常的吗?(因为我读到指针根据其类型的大小递增/递减)

c

1
推荐指数
1
解决办法
1245
查看次数

在C中为指向数组的指针分配内存

我有一个声明为的指针数组

char (*c)[20]
Run Code Online (Sandbox Code Playgroud)

使用malloc分配内存时

c=malloc(sizeof(char)*20);
Run Code Online (Sandbox Code Playgroud)

要么

c=(char*)malloc(sizeof(char)*20);
Run Code Online (Sandbox Code Playgroud)

我收到一条警告"可疑指针转换"

为什么?

c

1
推荐指数
1
解决办法
2668
查看次数

通过php的exec()命令执行以下命令

exec('mysql --execute "GRANT ALL PRIVILEGES ON database.* TO 'user'@'122.169.XXX.XX' IDENTIFIED BY 'password'"');
Run Code Online (Sandbox Code Playgroud)

但它发出错误!!

Parse error: syntax error, unexpected T_STRING
Run Code Online (Sandbox Code Playgroud)

应保留格式,因为它需要与在shell中执行的方式相同

php mysql

0
推荐指数
1
解决办法
266
查看次数

使用Malloc更改了指针地址

这是代码片段:

void main() {
   int i,*s;
   for(i=1;i<=4;i++) {
      s=malloc(sizeof(int));
      printf("%lu \n",(unsigned long)s);
   }
}
Run Code Online (Sandbox Code Playgroud)

我的comp上int的大小是2个字节,因此printf命令打印地址不应该增加16位,而是将地址打印为:

2215224120
2215224128
2215224136...
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

c

-1
推荐指数
1
解决办法
2030
查看次数

当我编译时,我得到一个错误,因为"问"无法解决或不是一个字段"

package mypackage; 

import java.util.Random;

interface SharedConstants
{
    int NO=0;
    int YES=1;
    int MAYBE=2;
    int LATER=3;
    int SOON=4;
    int NEVER=5;
}

class B implements SharedConstants
{

Random rand=new Random();

    int ask()
    {
        int prob=(int) (100 * rand.nextDouble());
        if (prob<30)
            return NO;
        else if(prob<60)
            return YES;
        else if(prob<75)
            return LATER;
        else if(prob<90)
            return SOON;
        else
            return NEVER;
    }

}

class c implements SharedConstants

{
    static void answer(int result)

    {
        switch(result)
        {
            case NO:
                System.out.println("No");
                break;
            case YES:
                System.out.println("Yes");
                break;
            case LATER:
                System.out.println("Later"); …
Run Code Online (Sandbox Code Playgroud)

java

-2
推荐指数
1
解决办法
66
查看次数

标签 统计

c ×6

database ×1

java ×1

kernighan-and-ritchie ×1

mysql ×1

oracle ×1

php ×1

postgresql ×1

sql ×1